我想使用特征来用我的 DIC 实例化我的对象:
trait TUseContainer {
protected $c;
public function __construct(Container $c) {
$this->c=$c;
}
}
class MyClass {
use TUseContainer;
//Optional
public function __construct(ClassInheritedFromContainer $c){
TUseContainer::__construct($c);
//MyClass __construct stuff
}
}
所以我的问题是:
- TUseContainer::__construct($c); 将工作?
- 如果没有,是否 parent::__construct($c); 会成功吗?(我认为不会)
- 是 trait::myOverridedMethod(); 调用非静态覆盖方法的好方法?
- 你认为我应该使用“as”关键字吗?(我认为这是一个坏主意)
- “TUseContainer”是我打算做的一个好名字吗?
欢迎大家提出意见,谢谢。
我会做一些测试并发布结果。