自PHP5.4起,PHP实现了一种代码复用的方法,称为 trait。trait 为了减少单继承语言的限制,使开发人员能够自由地在不同层次结构内独立的类中复用方法集。trait 和类组合的语义是定义了一种方式来减少复杂性,避免传统多继承和混入类(Mixin)相关的典型问题。
ThinkPHP5.0开始采用 trait 功能来作为一种扩展机制,可以方便的实现一个类库的多继承问题。
【使用示例】
在tp5项目中,/thinkphp/library/traits/controller/Jump.php 中使用了 trait,定义了一些常用的跳转方法,如下:
<?php
namespace traits\controller;
use think\Config;
use think\exception\HttpResponseException;
use think\Request;
use think\Response;
use think\response\Redirect;
use think\Url;
use think\View as ViewTemplate;
trait Jump
{
/**
* 操作成功跳转的快捷方法
* @access protect