Traits 有点像是定义的一些小的类,在 Traits 里面,可以去定义一些常用的方法。然后你可以把定义好的 Traits 应用在其它的类里面,这样在这个类里面,你就可以去使用在 Traits 里面定义的方法了。
注意 Traits 是从 PHP 5.4 以后新加的一个功能。如果你用的是 5.4 以前版本的 PHP ,就不能使用 Traits 了。
下面,我们来看一下怎么样使用 Traits ... 先去定义一个 ...
使用关键词 trait ... 然后是它的名称 ... 叫它 GetData ... 在这个 trait 里面,可以去添加一些方法。这里我们先只给它添加一个公开的方法 ... public function ... 叫做 get_data() .. 这个方法做的事就是返回一个字符串 .. 获取数据 ...
trait GetData
{
public function get_data() {
return '获取数据...';
}
}
下面,再用类似的方法去创建一个 trait ... 叫它 SetData ... 给它也添加一个方法 ... public function ... 这个方法叫做 set_data ... 它要做的事也很简单 ... 返回一个字符串 ...
trait SetData
{
public function set_data() {
return '设置数据...';
}
}
这样在我们应用里,创建其它类的时候,如果需要,可以使用这些 trait ... class Entity ... 在类里面,使用 trait ,用的是 use 这个关键词 ... 后面加上 trait 的名称 ... 不同的 trait 之间可以使用逗号分隔一下 ..
class Entity
{
use GetData, SetData;
}
这样在这个 Enttiy 类里面,就会包含 GetData ,还有 SetData 这两个 trait 里面定义的方法了 ... 下面去试一下 ...
创建一个 Entity 对象的实例 ... 在调用 get_data 还有 set_data 这两个方法 ... 把结果输出到屏幕上 ...
$my_entity = new Entity();
print_r($my_entity->get_data());
print_r($my_entity->set_data());
保存,再去预览一下 .. 这里会显示 get_data 还有 set_data 这两个方法里面返回来的内容 ... 注意这两个方法并不是在 Entity 这个类里面定义的 ... 而是在这个类使用的两个 trait 里面定义的。