ThinkPHP支持两种构造方法: __construct和_initialize(ThinkPHP内置的构造方法)。
测试URL为: http://oa.com/index.php/Admin/User/add
修改用户控制器类文件UserController.class.php 如下:
1、__construct构造方法
修改中间控制器类CommonController.class.php 如下:
说明:empty() 5.5 版本之后支持表达式,否则会报如下错误:
运行结果如下:
中间控制器必须先构造父类,才能使用父类的方法,修改代码如下:
运行结果:
2、_initialize构造方法,如下:
通过_initialize构造方法同样可以实现上述效果,无需构造父类,查看基类控制器代码如下:
通过Controller.class.php中的架构函数可以看出,只要存在 _initialize方法,就会直接调用来初始化控制器,因此ThinkPHP内置
的构造方法无需再构造父类。
原文地址:https://www.cnblogs.com/splendid/p/9642219.html
时间: 2024-11-09 08:25:13