本篇文章介绍的内容是关于php的Traits属性以及基本用法,现在分享给大家,有需要的朋友可以参考一下
PHP 5.4中的traits,是新引入的特性,其实际的目的,是为了解决php的单继承问题,用于实现代码重用的方法。
Traits可以理解为一组能被不同的类都能调用到的方法集合,但Traits不是类!不能被实例化。
php是一种单一继承的语言,我们无法像java一样在一个class中extends多个基类来实现代码重用,现在Traits能解决这一代码重用的问题,它能让开发者在多个不同的class中实现代码重用。
Traits和class在语义的定义上都是为了减少代码的复杂性,避免多重继承的问题。
1、实例参考链接:
https://segmentfault.com/a/1190000002970128
2、特性参考链接:
https://blog.csdn.net/longlongmylove/article/details/7521379
3、继承 VS 多态 VS Trait
参考链接:http://www.jb51.net/article/105579.htm
话说一直觉得laravel中的use很方面,能直接调用封装类的方法。今天看到一篇博主的文章,才知道laravel已经大量使用了Traits特性。
总结: 1、trait本质上还是一个类 2、接口(interface)规定了方法的定义, trait规定了方法的实现 3、可以认为A类D类等等其他类在需要ccc方法的时候包含了trait
综上, trait是PHP实现多继承的一种折中的方法, 姑且叫它”假多继承”, 可以认为一个类(A类)包含了另一个类E(trait), 最终目的是为了实现代码复用.
参考链接:https://zhuanlan.zhihu.com/p/31154445
总体来说,Traits的出现大大方便了我们的开发,毕竟不能多继承是真的不方便,特别是对于大型项目来说。哪怕只是“伪继承”也总比没有好。很多前辈们总结的已经很到位了,我这边只是相当于记个笔记。
end
相关推荐:
以上是php的Traits属性以及基本用法的详细内容。更多信息请关注PHP中文网其他相关文章!