ThinkPHP支援兩種建構方法: __construct和_initialize(ThinkPHP內建的建構方法)。
修改使用者控制器類別檔案UserController.class.php 如下:
#1、__construct建構方法
修改中間控制器類別CommonController.class.php 如下:
說明:empty() 5.5 版本之後支援表達式,否則會報如下錯誤:
#執行結果如下:
中間控制器必須先建構父類,才能使用父類別的方法,修改程式碼如下:
執行結果:
2、_initialize建構方法,如下:
透過_initialize建構方法同樣可以實現上述效果,無需建構父類,查看基類控制器程式碼如下:
透過Controller.class.php中的架構函數可以看出,只要有_initialize方法,就會直接呼叫來初始化控制器,因此ThinkPHP內建
的建構方法不需要再建構父類別。
推薦教學:《TP5》
以上是thinkphp登入限制時__construct和_initialize的差別介紹的詳細內容。更多資訊請關注PHP中文網其他相關文章!