使用特性(Traits)扩展功能 - 傅里叶光学(第二版) - 吕乃光 pdf

新版 ThinkPHP 广泛使用特性(Traits)来扩展功能,这让功能组合更加灵活。

例如,我们可以使用 Traits 改写之前的示例:

namespace appindexcontroller;
// 引入 Traits 类(PHP 5.5 以上版本可以不需要)
T('controller/View');

class Index
{
    use traitscontrollerView;

    public function index()
    {
        $this->assign('name', 'thinkphp');
        return $this->fetch('hello');
    }
}

使用 Traits 的优势在于可以同时引入多个 Traits,不受 PHP 类只能继承一个的限制。

例如:

namespace appindexcontroller;
// 引入 Traits 类(PHP 5.5 以上版本可以不需要)
T('controller/View');
T('controller/Ajax');

class Index
{
    use traitscontrollerView;
    use traitscontrollerAjax;

    public function index()
    {
        if (!IS_AJAX) {
            $this->error('非法操作');
        } else {
            $this->assign('name', 'thinkphp');
            return $this->fetch('hello');
        }
    }
}

此外,新版控制器支持任意层次的设计,例如 indexcontrolleronetwoIndex

pdf 文件大小:1.07MB