• thinkphp 前置和后置操作


    前置和后置操作指的是在执行某个操作方法之前和之后会自动调用的方法,不过仅对访问控制器有效。

    其他的分层控制器层和内部调用控制器的情况下前置和后置操作是无效的。

    系统会检测当前操作是否具有前置和后置操作,如果存在就会按照顺序执行,前置和后置操作的定义方式如下:

    1. <?php
    2. namespace HomeController;
    3. use ThinkController;
    4. class IndexController extends Controller{
    5. //前置操作方法
    6. public function _before_index(){
    7. echo 'before<br/>';
    8. }
    9. public function index(){
    10. echo 'index<br/>';
    11. }
    12. //后置操作方法
    13. public function _after_index(){
    14. echo 'after<br/>';
    15. }
    16. }

    如果我们访问 http://serverName/index.php/Home/Index/index

    结果会输出

    1. before
    2. index
    3. after

    前置和后置操作的注意事项如下:
    1. 如果当前的操作并没有定义操作方法,而是直接渲染模板文件,那么如果定义了前置和后置方法的话,依然会生效。真正有模板输出的可能仅仅是当前的操作,前置和后置操作一般情况是没有任何输出的。
    2. 需要注意的是,在有些方法里面使用了exit或者错误输出之类的话 有可能不会再执行后置方法了。例如,如果在当前操作里面调用了系统Action的error方法,那么将不会再执行后置操作,但是不影响success方法的后置方法执行。

     
  • 相关阅读:
    java学习第六天
    java学习第五天
    java学习第四天
    java学习第三天
    java学习第二天
    java学习第一天
    性能测试学习第十三天_性能测试报告编写
    性能测试学习第十二天_性能分析
    性能测试学习第十一天_Analysis
    性能测试学习第十天_controller
  • 原文地址:https://www.cnblogs.com/furuihua/p/11777732.html
Copyright © 2020-2023  润新知