trait
就是为了避免代码重复而生
Trait OwnerTrait{
public function owner(){
var_dump('comment owner');
}
}
class Comment{
use OwnerTrait;
}
//(new Comment())->owner();
// 或者以下两行代码是一样的效果
$comment = new Comment();
$comment->owner();
优先级
从基类继承的成员会被 trait 插入的成员所覆盖。优先顺序是来自当前类的成员覆盖了 trait 的方法,而 trait 则覆盖了被继承的方法。