插件窝 干货文章 thinkphp登录限制时__construct和_initialize的区别介绍

thinkphp登录限制时__construct和_initialize的区别介绍

jpg 构造 picture uploads 674    来源:    2024-10-28

ThinkPHP支持两种构造方法:  __construct和_initialize(ThinkPHP内置的构造方法)。

修改用户控制器类文件UserController.class.php 如下:

1.jpg

1、__construct构造方法

立即学习“PHP免费学习笔记(深入)”;

修改中间控制器类CommonController.class.php 如下:

2.jpg

说明:empty() 5.5 版本之后支持表达式,否则会报如下错误:

3.jpg

运行结果如下:

4.jpg

中间控制器必须先构造父类,才能使用父类的方法,修改代码如下:

5.jpg

运行结果:

6.JPG

2、_initialize构造方法,如下:

7.jpg

通过_initialize构造方法同样可以实现上述效果,无需构造父类,查看基类控制器代码如下:

8.jpg

通过Controller.class.php中的架构函数可以看出,只要存在 _initialize方法,就会直接调用来初始化控制器,因此ThinkPHP内置

的构造方法无需再构造父类。

推荐教程:《thinkphp/" target="_blank">TP5》