官术网_书友最值得收藏!

4.2 前置操作和后置操作

試想這么一種場(chǎng)景,有一個(gè)控制器方法是需要很高的審計(jì)安全級(jí)別的(比如提現(xiàn)系統(tǒng)中的提現(xiàn)操作),這時(shí)候?qū)@種操作需要完整的日志記錄。一般的做法是在該方法體前面和后面增加日志寫入代碼。但是該方式不利于項(xiàng)目解耦,畢竟日志記錄不是提現(xiàn)邏輯,而是審計(jì)邏輯,此時(shí)ThinkPHP提供的“前置操作和后置操作”可以實(shí)現(xiàn)該需求。

前置操作和后置操作是“可選”的,如果存在則自動(dòng)調(diào)用,定義方式如下,編輯Application/Home/Conf/config.php,代碼如下:

        return array(
        //  'ACTION_SUFFIX' => 'Action', // 操作方法后綴
        );

編輯Application/Home/Controller/IndexController.class.php,代碼如下:

        <? php
        namespace Home\Controller;
        use Think\Controller;
        class IndexController extends Controller
        {
        public function _before_index()
        {
            echo 'before';
        }
        public function index()
        {
            echo 'index';
        }
        public function _after_index()
        {
            echo 'after';
        }
        }

在瀏覽器中訪問(wèn)http://localhost/thinkphp-inaction/chapter-4/home/index,瀏覽器會(huì)輸出“beforeindexafter”,證明系統(tǒng)按照順序調(diào)用了相應(yīng)方法。

主站蜘蛛池模板: 陕西省| 阿瓦提县| 富阳市| 互助| 唐山市| 东兴市| 富源县| 徐水县| 杨浦区| 肇东市| 嘉荫县| 革吉县| 汉中市| 屏东市| 乌恰县| 留坝县| 湘乡市| 蒙山县| 济源市| 吴江市| 兴安县| 凤凰县| 沈丘县| 玉田县| 隆回县| 定襄县| 南丹县| 梧州市| 杭锦后旗| 时尚| 若尔盖县| 凤台县| 谢通门县| 宜昌市| 高清| 涡阳县| 芷江| 古田县| 乐至县| 台南市| 建瓯市|