1.trait是为了解决php单继承而引入的一种代码复用机制
2.trait为了减少单继承语言的限制,使开发人员能够自由地在不同层次结构内独立的类中复用method
3.trait和class组合语义定义了一种减少复杂性的方式,避免了传统多继承的典型问题
4.trait定义了一个属性后,类中不能出现相同名称的属性,否则会出现fatal error
以下是简单的使用代码:
trait PropertiesTrait {
public $same = true;
public $different = false;
}
class PropertiesExample {
use PropertiesTrait;
public $same = true; // PHP 7.0.0 后没问题,之前版本是 E_STRICT 提醒
public $different = true; // 致命错误
}
?>
在平时的开发中,trait很有用,当我们需要将一些类中的方法应用到其他类中,可以写个trait;
比如我们在写restful接口时,从本系统去调用第三方系统,可以写一个RestfulTrait,然后在控制器或者逻辑层的母类中use该trait, 这样下次调用其他接口就可以直接通过restfultrait去调用。
希望可以帮助到大家!
![038c1d89db8dcc5295e4dff45083bbb1.png](https://i-blog.csdnimg.cn/blog_migrate/98ad7ce83a7d11c5523f21b176463a5d.jpeg)