特性是PHP 5.4的最大增加之一.我知道语法并理解特征背后的想法,比如日志,安全性,缓存等常见内容的水平代码重用.
但是,我仍然不知道如何在我的项目中使用特征.
是否有任何已经使用特征的开源项目?关于如何使用特征构建体系结构的任何好文章/阅读材料?
类是这样做的吗?
Class Main
{
$this->a = new A();
$this->b = new B();
$this->c = new C();
$this->b->doTranslate($this->a->saySomething());
}
Run Code Online (Sandbox Code Playgroud)
这就是特质的作用,不是吗?
Class Main {
use A;
use B;
use C;
$this->doTranslate($this->saySomething());
}
Run Code Online (Sandbox Code Playgroud)
我对特征根本没有太多了解,但通过查看新的 PHP 5.4 特征示例,它们似乎只在单一情况下有帮助。A class only be extended once to use $this together, but we can use multiple traits.
问题 1:这是使用特征相对于基本类的唯一优势吗?
问题2:如果trait A, B, and C都有一个名为 的函数example(),当我尝试$this->example();PHP 将如何确定将使用哪个特征?将会发生什么?
此外,不要写一堵文字墙;只需向我提供一个简短的代码示例和一个简短的简介,我可以查看并理解。我不熟悉特质,也不知道它们到底是什么。