php – Hack – 如何检查实例是否使用了Trait?
发布时间:2020-12-13 21:57:24 所属栏目:PHP教程 来源:网络整理
导读:如何检查类的实例是否使用特征?我无法使用instanceof,因为Trait是不可实现的. 解决方法 您可以将 ReflectionObject与 getTraits或 getTraitNames功能一起使用: trait test { public function hello() { echo "hello"; }}class A { use test;}function hasT
如何检查类的实例是否使用特征?我无法使用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"; } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |