將有可能檢查靜態(意思,而無需創建一個實例),如果包含FQCN像$fqcn
的字符串:是否可以「靜態」檢查FQCN在PHP中是否屬於給定類型?
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可能能夠做的,但我不知道。儘管如此,仍然可能是一個開始尋找答案的好地方。 – GordonM