gpt4 book ai didi

php - 扩展具有特征的类

转载 作者:可可西里 更新时间:2023-11-01 00:28:40 25 4
gpt4 key购买 nike

因为我刚从另一种语言跳到 PHP,所以我想问问您向类添加扩展的正确方法是什么。我现在的配置如下:

class A extends B {
use C;

public function a(){

}
}

我需要向 A 类添加一些额外的功能,但在逻辑上将它们与 A 类分开,所以我认为我会使用特征 C。

所以我的问题是 - 我可以在特征 C 中使用函数 a() 吗?我知道我可以在特征 C 中定义抽象函数 a(),但我认为这根本不是一个好的做法。也许我可以以某种方式将其注入(inject)特征中,或者这也是一种不好的做法吗?

最佳答案

这是可能的,选择是开发者的自由裁量权,最好的解决方案是根据经验。

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!

关于php - 扩展具有特征的类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51544992/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com