PHP:有没有办法避免在检查对象是否是类的实例时必须使用完全限定的类名?

时间:2017-07-23 13:14:19

标签: php

我理解is_a接受一个字符串作为第二个参数,但我想知道是否有办法使用instanceof实现以下目标:

use App\Module;
class Foo {
    function Bar($obj) {
        return ($obj instanceof Module);
    }
}

use App\Module;
class Foo {
    function Bar($obj) {
        return ($obj instanceof Module::class);
    }
}

1 个答案:

答案 0 :(得分:0)

鉴于存在类App\Module,并给出:

use App\Module;

class Foo 
{
    public function bar($obj) 
    {
        return $obj instanceof Module::class;
    }
}

这很好用:

use App\Module;

$module = new Module();

$foo = new Foo();

var_dump($foo->bar($module)); // true

供参考,见: