在PHP中有条件地使用特征
只有在满足条件的情况下,我才想在类中使用特征。例如:
trait T
{
}
class A
{
if ($condition) {
use T;
}
}
我知道我不能在课堂上直接使用if
。所以,我正在寻找一种有条件地使用类似于上面的特征的方法。有可能吗?
解决方案
您可以使用Use T创建一个类,它在不使用T的情况下扩展类,然后在使用该类的代码中执行If并实例化一个或另一个类。
<?php
trait T {
}
class A {
}
class B extends A {
use T;
}
// In an other part of code
$obj = null;
if($condition) {
$obj = new B();
} else {
$obj = new A();
}
/* EOF */
相关文章