可以为某个或者某些操作指定前置执行的操作方法,设置 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