前置操作

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

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

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

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

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

示例如下:

namespace appindexcontroller;

use thinkController;

class Index extends Controller
{
    protected $beforeActionList = [
        "first",
        "second" =>  ["except"=>"hello"],
        "three"  =>  ["only"=>"hello,data"],
    ];
    
    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
文章导航