php的Traits属性以及基本用法

不言
不言 原创
2023-03-23 19:06:02 1233浏览

本篇文章介绍的内容是关于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复用机制的使用详解

如何利用traits实现php代码复用

以上就是php的Traits属性以及基本用法的详细内容,更多请关注php中文网其它相关文章!

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。