如何检查变量是否属于certian类(也考虑PHP5.3命名空间)
如何验证对象是否属于certian类?我目前使用如何检查变量是否属于certian类(也考虑PHP5.3命名空间),php,oop,class,Php,Oop,Class,如何验证对象是否属于certian类?我目前使用 get_class($obj) == 'User'; 但当我在别处时,它可能看起来像\KM\User?我认为这种方式可能有点容易出错。是否有类似于: compare_class($obj1, User); // or maybe classof($obj) == User; 使用运算符: if($foo instanceof User) { ... } 只是 我应该这样做。这受5.3命名空间处理的影响,这意味着:如果您在my\nam
get_class($obj) == 'User';
但当我在别处时,它可能看起来像\KM\User
?我认为这种方式可能有点容易出错。是否有类似于:
compare_class($obj1, User);
// or maybe
classof($obj) == User;
使用运算符:
if($foo instanceof User) {
...
}
只是
我应该这样做。这受5.3命名空间处理的影响,这意味着:如果您在
my\namespace
中,则假定User
为\my\namespace\User
。或者,如果您有类似于use-other\namespace\User
的内容,它将被视为与use
-语句指定的类完全相同。ahh,我想一定有类似的内容。Thanks@Cold夏威夷人,现在当我发布问题时,但在你提问后我尝试了,是的,我得到了“KM\User
”
if ($obj instanceof User) {
// $obj is of User or any descendant
}