前置和后置操作ThinkPHP笔记

/ / 2016-02-04   阅读:2558
如果当前访问的操作是存在(必须是实际在控制器中定义过)的,系统会检测当前操作是否具有前置和后置操作,如果存在就会按照顺序执行,前置和后置操作的方法名是在要执行的方法前面加 _before_和_after_,例如: na...
如果当前访问的操作是存在(必须是实际在控制器中定义过)的,系统会检测当前操作是否具有前置和后置操作,如果存在就会按照顺序执行,前置和后置操作的方法名是在要执行的方法前面加 _before_和_after_,例如:
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';
      }
}

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

如果在操作方法里面使用了exit或者error方法的话 有可能不会再执行后置方法了,例如:
namespace Home\Controller;
use Think\Controller;
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

上一篇:初始化操作

下一篇:页面跳转

我要评论

昵称:
验证码:

最新评论

共0条 共0页 10条/页 首页 上一页 下一页 尾页
意见反馈