如果你的控制器类继承了\think\Controller类的话,可以定义控制器初始化方法_initialize,在该控制器的方法调用之前首先执行。

    例如:

    1. namespace app\index\controller;
    2. use think\Controller;
    3. class Index extends Controller
    4. {
    5. public function _initialize()
    6. {
    7. echo 'init<br/>';
    8. }
    9. public function hello()
    10. {
    11. return 'hello';
    12. }
    13. public function data()
    14. {
    15. return 'data';
    16. }
    17. }

    如果访问http://localhost/index.php/index/Index/hello

    会输出

    1. init
    2. hello

    如果访问http://localhost/index.php/index/Index/data

    会输出

    1. init
    2. data