PHP类只能继承一个父类(单继承),trait就是用来解决这个问题的。
Trait 是为类似 PHP 的单继承语言而准备的一种代码复用机制。Trait 为了减少单继承语言的限制,使开发人员能够自由地在不同层次结构内独立的类中复用方法。Trait 和 Class 组合的语义定义了一种减少复杂性的方式,避免传统多继承和 Mixin 类相关典型问题。
列如:Demo类里面使用了trait A和B,new Demo类的时候就可以使用trait中的A和B里面的eat,sing方法
trait A{
public function eat(){
echo '我会吃';
}
}
trait B{
public function sing(){
echo '我会唱';
}
}
class Demo {
use A;
use B;
}
$res = new Demo();
$res->eat();
$res->sing();
网友评论