由于我刚刚从另一种语言跳到PHP,我想问一下在类中添加扩展名的正确方法.我的配置现在如下:
class A extends B {
use C;
public function a(){
}
}
我需要在A类中添加一些额外的函数,但从逻辑上划分它们,所以我虽然会使用特征C.
所以我的问题是 – 我可以在我的特质C中使用函数a()吗?我知道我可以在特质C中定义抽象函数a(),但我相信这根本不是一个好习惯.也许我可以以某种方式将其注入特质或者这也是一种不好的做法?
解决方法:
有可能,选择是开发人员的*裁量权,最佳解决方案是基于经验.
trait C {
public function hello() {
parent::a();
echo 'World!';
}
}
class B {
function a() {
echo "hello";
}
}
class A extends B{
use C;
}
(new A())->hello(); // helloWorld!