PHP中的Trait和GO语言中的组合类似,实习类似于C++中的多继承问题。通过使用当需要的时候可以用use关键字实现将除了父类之外的类加到自己的类中。在创建对象以后可以调用Trait中的属性和方法。看起来和多继承是一样的。
<?php
trait Drive{
public $carName="trait";
public function driving(){
echo "diving {$this->carName}<br/>";
}
}
class Person{
public function eat(){
echo "eat<br/>";
}
}
class Student extends Person{
use Drive;
public function study(){
echo "Study<br/>";
}
}
$student=new Student();
$student->study();
$student->eat();
$student->driving();