ThinkPHP5.1 前置操作说明


可以为某个或者某些操作指定前置执行的操作方法,设置 beforeActionList属性可以指定某个方法为其他方法的前置操作,数组键名为需要调用的前置方法名,无值的话为当前控制器下所有方法的前置方法。

['except' => '方法名,方法名'] 

表示这些方法不使用前置方法,

['only' => '方法名,方法名']

表示只有这些方法使用前置方法。

 

示例如下:

<?php
namespace app\index\controller;

use think\Controller;

class Index extends Controller
{
    protected $beforeActionList = [
        'first',  //在执行所有方法前都会执行first方法
        'second' =>  ['except'=>'hello'],  //除hello方法外的方法执行前都要先执行second方法
        'three'  =>  ['only'=>'hello,data'],  //在hello/data方法执行前先执行three方法
    ];
    
    protected function first()
    {
        echo 'first<br/>';
    }
    
    protected function second()
    {
        echo 'second<br/>';
    }
    
    protected function three()
    {
        echo 'three<br/>';
    }

    public function hello()
    {
        return 'hello';
    }
    
    public function data()
    {
        return 'data';
    }
}

 

访问

http://localhost/index.php/index/Index/hello 

最后的输出结果是

first
three
hello

访问

http://localhost/index.php/index/Index/data 

的输出结果是:

first
second
three
data


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM