🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
## Trait Trait 是为类似 PHP 的单继承语言而准备的一种代码复用机制。 Trait 为了减少单继承语言的限制,使开发人员能够自由地在不同层次结构内独立的类中复用方法。 Trait 和 Class 组合的语义定义了一种减少复杂性的方式,避免传统多继承和 Mixin 类相关典型问题。 Trait 和 Class 相似,但仅仅旨在用细粒度和一致的方式来组合功能。 Trait 无法通过自身来实例化,它为传统继承增加了水平特性的组合,也就是说,应用的几个 Class 之间不需要继承。 ``` <?php trait Hello { public function sayHello() { echo 'I am hello.' . PHP_EOF; } } trait World { public function sayWorld() { echo 'I am world.' . PHP_EOL; } } class MyClass { use Hello, World; public function sayOk() { echo 'I am ok.' . PHP_EOL; } } $obj = new MyClass(); $obj->sayHello(); $obj->sayWorld(); $obj->sayOk(); ?> ``` 更多细节请参考:[Trait 详解](http://php.net/manual/zh/language.oop5.traits.php)