【发布时间】:2012-06-10 08:22:57
【问题描述】:
如果字符串包含像$fqcn这样的FQCN,则可以静态检查(意思是不创建实例):
function checkCreatingInstance($fqcn)
{
// Create a new instance
$instance = new $fqcn;
return ($instance instanceof 'MyNamespace\Entity\SendMessage');
}
function checkStatically($fqcn)
{
/* TODO */
}
$fqcn = 'MyNamespace\Entity\SendSmallTextMessage';
var_dump(checkCreatingInstance($fqcn)); // true
是给定的类型吗?示例层次结构:
namespace MyNamespace\Entity;
class SendMessage { /* Stuff */ }
namespace MyNamespace\Entity;
class SendNewsletter extends SendMessage { /* Stuff */ }
namespace MyNamespace\Entity;
class SendSmallTextMessage extends SendMessage { /* Stuff */ }
【问题讨论】:
-
反射 API 可能能够做到这一点,但我不确定。不过,仍然可能是开始寻找答案的好地方。
标签: php reflection types instance