php的Traits属性以及基本用法
本篇文章介绍的内容是关于php的Traits属性以及基本用法,现在分享给大家,有需要的朋友可以参考一下
一、什么是Traits
PHP 5.4中的traits,是新引入的特性,其实际的目的,是为了解决php的单继承问题,用于实现代码重用的方法。
Traits可以理解为一组能被不同的类都能调用到的方法集合,但Traits不是类!不能被实例化。
php是一种单一继承的语言,我们无法像java一样在一个class中extends多个基类来实现代码重用,现在Traits能解决这一代码重用的问题,它能让开发者在多个不同的class中实现代码重用。
Traits和class在语义的定义上都是为了减少代码的复杂性,避免多重继承的问题。
二、Traits的特性
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
三、Traits在laravel中的使用
话说一直觉得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学习笔记(二) 了解PHP的基本语法以及目录结构
-
php中的静态变量的基本用法
-
python中string模块各属性以及函数的用法介绍
-
浅析PHP substr,mb_substr以及mb_strcut的区别和用法
-
numpy的学习(一)什么是numpy以及numpy的基础数据结构数组(创建数组以及数组的基本属性)
-
我的WebAPI学习(一)------ DOM元素的获取以及事件的基本用法
-
深入php define()函数以及defined()函数的用法详解
-
php判断字符以及字符串的包含方法属性
-
android属性的使用以及obtainStyledAttributes的四种用法
-
CSS3中的transform属性进行2D和3D变换的基本用法