子類的_initialize方法自動調用父類的_initialize方法。而php的構造函數construct,如果要調用父類的方法,必須在子類構造函數顯示調用parent::__construct();
<?php class BaseAction extends Action { // 繼承Thinkphp protected function _initialize() { // thinkphp中的函數 echo "Base class"; } }
子類如果沒有_initialize方法,則默認調用父類的_initialize方法。
輸出:Base class
如果有,則執行自己的_initialize方法。
輸出:hello I am child
如果同時執行,則要這樣寫
<?php class IndexAction extends BaseAction { public function _initialize(){ // 如果子類存在initialize,則不執行父類的內容 parent::_initialize(); // 加上這一句,才執行父類的初始化函數 echo "hello I am child"; } }
輸出:Base class hello I am child