trait 是php 5.4引入的新特性 实际作用相当于一个多继承,也是为了不违反OOP的原则
trait 可以理解为一组可以被不同的类调用的方法的集合,但是trait不是类,不能被实例化
看个简单点的例子:
<?php
trait myTrait {
function sayHello (){
echo 'hello world';
}
function sayGood(){
echo 'good';
}
}
class sb{
use myTrait;
}
class sb2{
use myTrait;
}
$foo = new sb();
$foo->sayHello();
$bar = new sb2();
echo '<br/>';
$bar->sayHello();
在myTrait定义了2个方法,在外有2个类分别引用了myTrait,
输出结果为:
hello world
hello world