检查存储类名称的变量是否是类的实例

时间:2015-01-09 10:15:14

标签: php

我可能错过了is_a()instanceof中的某些内容,但有没有办法让这个字符串版本有效?

$myclass = 'MyClass';

if ($myclass instanceof MyClass) {
    echo 'Yes';
} else {
    echo 'No';
}

这可以正常工作并打印

$myclass = new MyClass();

if ($myclass instanceof MyClass) {
    echo 'Yes';
 else {
    echo 'No';
}

1 个答案:

答案 0 :(得分:3)

<强>问题:
Check if variable which stores name of a class is an instanceof a class

我的回答:

如果变量存储了类的名称,则它不能是该类的实例,因为它是一个字符串!

您可能想要的内容:

Check if variable stores a name of existing class

解决方案:

if (class_exists($myclass)) { ... }