ThinkPHP實現登錄限制時__construct和_initialize的區別
阿新 • • 發佈:2018-09-13
修改用戶 style 架構 add 通過 登錄限制 dmi class 測試
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內置
的構造方法無需再構造父類。
ThinkPHP實現登錄限制時__construct和_initialize的區別