如何验证对象是否属于certian类?我目前使用
get_class($obj) == 'User';
但是当我在别处时,它可能看起来像\KM\User
?我认为这种方式可能会导致开发人员错误。是否有类似的东西:
compare_class($obj1, User);
// or maybe
classof($obj) == User;
答案 0 :(得分:1)
使用instanceof运算符:
if($foo instanceof User) {
...
}
答案 1 :(得分:1)
只需
if ($obj instanceof User) {
// $obj is of User or any descendant
}
应该这样做。这受5.3命名空间处理的影响,这意味着:如果您在my\namespace
,则假定User
为\my\namespace\User
。或者,如果您有类似use another\namespace\User
的内容,则会将其视为use
- 语句指定的类。