我想知道我是否可以动态导入特征并应用于父类。
trait A{
function a(){}
}
class B{
//use A <-no import here
function b(){
//Define if need trait A
// Import A and apply to B <- Possible?
}
}
非常感谢您的建议!
答案 0 :(得分:2)
不,你不能。特性是该类的一个特征,而php在那里猛拉它,必须同时解决冲突(或发现它们没有被解决),所以你在类中定义它,就是这样。
你真的不得不问问自己是否要像这样使用它们。如果一个类可能有也可能没有特性,它真的是一个类吗?你正确使用这个特质吗?很难说没有你的用例,但我敢说这几乎总是代码味道。
如果你以一种好的方式使用特征,你可以将它们用于全班吗?