前置和后置操作

如果当前访问的操作是存在(必须是实际在控制器中定义过)的,系统会检测当前操作是否具有前置和后置操作,如果存在就会按照顺序执行,前置和后置操作的方法名是在要执行的方法前面加 _before_和_after_,例如:

namespace HomeController;

use ThinkController;

class IndexController extends Controller{

      //前置操作方法

      public function _before_index(){

          echo 'before<br/>';

      }

      public function index(){

          echo 'index<br/>';

      }

      //后置操作方法

      public function _after_index(){

          echo 'after';

      }

}

如果我们访问 http://serverName/index.php,结果会输出

before

index

after

如果在操作方法里面使用了exit或者error方法的话 有可能不会再执行后置方法了,例如:

namespace HomeController;

use ThinkController;

class IndexController extends Controller{

      //前置操作方法

      public function _before_index(){

          echo 'before<br/>';

      }

      public function index(){

          echo 'index<br/>';

          exit;

      }

      //后置操作方法

      public function _after_index(){

          echo 'after';

      }

}

如果我们再次访问结果会输出

before

index

相关文章

(1)创建数据表: CREATE TABLE IF NOT EXISTS `think_form` ...
组合查询的主体还是采用数组方式查询,只是加入了一些特殊的...
(1)创建模版:/App/Home/View/Form/edit.html   <FORM m...
自定义配置文件user.php: <?php return array(    \'se...
在一些成熟的CMS系统中,后台一般都包含一个配置中心(如织梦...
废话不多说先上图预览下,即本博客的分页; 这个分页类是在...