2
클래스의 인스턴스가 특성을 사용하는지 어떻게 확인할 수 있습니까? 특성이 언 주발 가능하지 않기 때문에 instanceof
을 사용할 수 없습니다.해킹 - 인스턴스가 특성을 사용하는지 확인하는 방법?
클래스의 인스턴스가 특성을 사용하는지 어떻게 확인할 수 있습니까? 특성이 언 주발 가능하지 않기 때문에 instanceof
을 사용할 수 없습니다.해킹 - 인스턴스가 특성을 사용하는지 확인하는 방법?
당신은 getTraits 또는 getTraitNames 기능 ReflectionObject를 사용할 수 있습니다
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";
}