可以为某个或者某些操作指定前置执行的操作方法,设置 beforeActionList
属性可以指定某个方法为其他方法的前置操作,数组键名为需要调用的前置方法名,无值的话为当前控制器下所有方法的前置方法。
<?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'; } }
在以下URL中访问:
http://127.0.0.1/demo/public/index.php/index/index/hello
- 1
hello
在以下URL中访问:
http:
second
three
data
文章来源: ThinkPHP5前置操作