如何在php类中获得使用的特征?一般性建议
PHP (5.4) 中是否有任何函数可以将使用的特征作为数组或类似:
class myClass extends movingThings {
use bikes, tanks;
__construct() {
echo 'I\'m using the two traits:' . ????; // bikes, tanks
}
}
PHP (5.4) 中是否有任何函数可以将使用的特征作为数组或类似:
class myClass extends movingThings {
use bikes, tanks;
__construct() {
echo 'I\'m using the two traits:' . ????; // bikes, tanks
}
}
要轻松获得使用的特征,您可以调用class_uses()
$usedTraits = class_uses(MyClass);
// or
$usedTraits = class_uses($myObject);
在检查可用功能时,我通常建议使用。要向界面添加默认功能,请使用 。这样,您还可以从类型提示中受益。interfaces
traits
通过实现接口来强制对象具有功能,然后使用特征为该接口实现默认代码。
class MyClass
implements SomeInterface
{
use SomeTrait;
}
然后你可以检查接口;
$myObject = new MyClass();
if ($myObject instanceof SomeInterface) {
//...
}
并且仍然使用类型提示;
function someFunction( SomeInterface $object )
{
//...
}