微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

php – 使用特征扩展一个类

由于我刚刚从另一种语言跳到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!

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐