a)使用初始化方法必须继承Controller控制器类
b)输出必须使用echo,return输出是不会显示的
c)对于tp5.0版本,控制器初始化方法是_initialize(),模型的初始化方法是initialize()
d)对于5.1版本,控制和模型初始化的方法都是initialize()
在Tp5.1中可以使用initialize方法进行控制器的初始化,但是当前控制器需要继承控制器基类 (think\Controller )或者当前控制器继承的类继承了控制器基类(think\Controller ),否则initialize方法无效
<?php namespace app\index\controller; use think\Controller;//继承控制器基类后 initialize 方法才能生效 class Index extends Controller { public function initialize() { echo 'initialize --'; } public function index() { echo '-- index'; } }
如果不继承控制器基类(think\Controller)的同时又使用初始化方法,可以使用__construct代替
<?php namespace app\index\controller; class Index { public function __construct() { echo '__construct --'; } public function index() { echo '-- index'; } }
如果initialize方法和__construct同时存在于当前控制器时,仅有__construct方法生效;被继承的类若使用__construct方法当前控制器又有需要的话也需要使用__construct方法才行
<?php namespace app\index\controller; use think\Controller; class Index extends Controller { public function __construct() { echo '__construct --'; } public function initialize() { echo 'initialize --'; } public function index() { echo '-- index'; } }
转载:https://blog.csdn.net/ljh574649119/article/details/138533005