php是一种单一继承的语言,trait能解决这一代码重用的问题,它能让开发者在多个不同的class中实现代码重用
trait 定义类 use 使用
<?php trait Animal { public function run(){ echo 'animal run'."<br>"; } public function jump(){ echo 'animal jump'."<br>"; } } trait Human { public function study(){ echo 'human study'."<br>"; } } class Person{ use Animal, Human; //方法重名使用别名方式 //use Animal, Human{ // Animal::run as AnimalRun; //} public $name; public function __construct($name) { $this->name = $name; } public function build(){ echo 'person build'."<br>"; } } //创建对象 $person = new Person('胡勇健'); $person->run(); $person->jump(); $person->study(); $person->build();
结果显示
animal run animal jump human study person build