php – 在课堂上使用特征,为什么?
发布时间:2020-12-13 17:15:34 所属栏目:PHP教程 来源:网络整理
导读:这是课程的方式吗? Class Main { $this-a = new A(); $this-b = new B(); $this-c = new C(); $this-b-doTranslate($this-a-saySomething());} 这就是特质如何做到的,不是吗? Class Main { use A; use B; use C; $this-doTranslate($this-saySomething());
这是课程的方式吗?
Class Main { $this->a = new A(); $this->b = new B(); $this->c = new C(); $this->b->doTranslate($this->a->saySomething()); } 这就是特质如何做到的,不是吗? Class Main { use A; use B; use C; $this->doTranslate($this->saySomething()); } 我根本没有太多关于特征的知识,但是通过查看新的PHP 5.4特性示例,它们似乎只对单个案例有所帮助.一个类只能扩展一次以使用$this,但我们可以使用多个特征. 问题1:使用特征而不是基本类是否是唯一的优势? 问题2:如果特征A,B和C都有一个名为example()的函数,当我尝试$this-> example(); PHP将如何确定将使用哪个特征?会发生什么事? 此外,而不是写一面文字;只是给我一个简短的代码示例,简短的简介,我可以看看和承担.我不熟悉特质,也不知道它们到底是什么. 解决方法
你可以用特质做很多事情.我在我的框架中使用它,例如Singleton和Getter / Setter.
trait Singleton { protected static $_instance; protected function __construct(){} public static function getInstance() { if (null === self::$_instance) { self::$_instance = new static(); } return self::$_instance; } } 另一个有趣的用途是面向方面编程. 问题2:如果特征具有相同的方法,则会出现致命错误. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |