thinkphp登录限制时__construct和_initialize的区别有哪些

介绍

这篇文章主要介绍thinkphp登录限制时__construct和_initialize的区别有哪些,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

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

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

 thinkphp登录限制时__construct和_initialize的区别有哪些

1, __construct构造方法

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

 thinkphp登录限制时__construct和_initialize的区别有哪些

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

 thinkphp登录限制时__construct和_initialize的区别有哪些

运行结果如下:

 thinkphp登录限制时__construct和_initialize的区别有哪些

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

 thinkphp登录限制时__construct和_initialize的区别有哪些

运行结果:

 thinkphp登录限制时__construct和_initialize的区别有哪些

2, _initialize构造方法,如下:

 thinkphp登录限制时__construct和_initialize的区别有哪些

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

 thinkphp登录限制时__construct和_initialize的区别有哪些

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

以上是“ThinkPHP登录限制时__construct和_initialize的区别有哪些”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注行业资讯频道!

thinkphp登录限制时__construct和_initialize的区别有哪些