前置和后置操作指的是在执行某个操作方法之前和之后会自动调用的方法,不过仅对访问控制器有效。
其他的分层控制器层和内部调用控制器的情况下前置和后置操作是无效的。
系统会检测当前操作是否具有前置和后置操作,如果存在就会按照顺序执行,前置和后置操作的定义方式如下:
<?php namespace Home\Controller; use Think\Controller; class IndexController extends Controller{ //前置操作方法 public function _before_index(){ echo 'before<br/>'; } public function index(){ echo 'index<br/>'; } //后置操作方法 public function _after_index(){ echo 'after<br/>'; } }
如果我们访问 http://serverName/index.php/Home/Index/index
结果会输出
before
index
after