PHP:检查变量是否是某个类的实例

php
2022-08-30 20:24:42

每次我通过 $_GET获得一个变量时,我都想验证它是否确实是 User 类的对象。

所以:

if (isUser($_GET['valid_user']))
{
...
}

有没有一个内置的函数来代替这个所谓的“isUser”?

多谢!


答案 1

您可以验证某个类的任何变量:

if ($my_var instanceof classname)

但是,在你的情况下,这永远不会起作用,因为$_GET[“valid_user”]来自请求,永远不会成为一个对象。

isUser() 可能是来自用户管理库的自定义函数,用于对当前会话进行身份验证。如果你想替换它,你需要看看它是如何工作的。


答案 2

PHP语言中有一个函数,可能会对您有所帮助:

bool is_a ( object $object , string $class_name )

来自文档检查对象是否属于此类,或者是否将此类作为其父级之一


推荐