TP5.1 控制器初始化方法注意事项
Posted murraybin
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了TP5.1 控制器初始化方法注意事项相关的知识,希望对你有一定的参考价值。
tp5.1 初始化方法是initialize,不是_initialize,tp5.0 初始化方法_initialize
Thinkphp的控制器和模型初始化不起作用
初始化方法的注意事项 :
a)使用初始化方法必须继承Controller控制器类
b)输出必须使用echo,return输出是不会显示的
c)对于tp5.0版本,控制器初始化方法是_initialize(),模型的初始化方法是initialize()
d)对于5.1版本,控制和模型初始化的方法都是initialize()
在Tp5.1中可以使用initialize
方法进行控制器的初始化,但是当前控制器需要继承控制器基类 (thinkController
)或者当前控制器继承的类继承了控制器基类(thinkController
),否则initialize
方法无效
1 <?php 2 3 namespace appindexcontroller; 4 5 use thinkController;//继承控制器基类后 initialize 方法才能生效 6 7 class Index extends Controller 8 { 9 public function initialize() 10 { 11 echo ‘initialize --‘; 12 } 13 public function index() 14 { 15 echo ‘-- index‘; 16 } 17 }
如果不继承控制器基类(thinkController
)的同时又使用初始化方法,可以使用__construct
代替
1 <?php 2 3 namespace appindexcontroller; 4 5 class Index 6 { 7 public function __construct() 8 { 9 echo ‘__construct --‘; 10 } 11 public function index() 12 { 13 echo ‘-- index‘; 14 } 15 }
如果initialize
方法和__construct
同时存在于当前控制器时,仅有__construct
方法生效;被继承的类若使用__construct
方法当前控制器又有需要的话也需要使用__construct
方法才行
1 <?php 2 3 namespace appindexcontroller; 4 5 use thinkController; 6 7 class Index extends Controller 8 { 9 public function __construct() 10 { 11 echo ‘__construct --‘; 12 } 13 public function initialize() 14 { 15 echo ‘initialize --‘; 16 } 17 public function index() 18 { 19 echo ‘-- index‘; 20 } 21 }
以上是关于TP5.1 控制器初始化方法注意事项的主要内容,如果未能解决你的问题,请参考以下文章
tp5.1在phpstudy环境下不支持模块/控制器/方法访问,404