php – Hack – 如何检查实例是否使用了Trait?
作者:互联网
如何检查类的实例是否使用特征?我无法使用instanceof,因为Trait是不可实现的.
解决方法:
您可以将ReflectionObject与getTraits或getTraitNames功能一起使用:
trait test {
public function hello()
{
echo "hello";
}
}
class A {
use test;
}
function hasTrait($object, $traitName)
{
$reflection = new ReflectionObject($object);
return in_array($traitName, $reflection->getTraitNames());
}
$a = new A();
if(hasTrait($a, 'test')) {
echo "Object of class 'A' has 'test' trait \n";
}
标签:hacklang,php 来源: https://codeday.me/bug/20190727/1550613.html