加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php – 使用特征扩展一个类

发布时间:2020-12-13 21:33:27 所属栏目:PHP教程 来源:网络整理
导读:由于我刚刚从另一种语言跳到 PHP,我想问一下在类中添加扩展名的正确方法.我的配置现在如下: class A extends B { use C; public function a(){ }} 我需要在A类中添加一些额外的函数,但从逻辑上划分它们,所以我虽然会使用特征C. 所以我的问题是 – 我可以在
由于我刚刚从另一种语言跳到 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!

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读