CI等MVC框架中爲何不能有index控制器的緣由

由於 類名稱是index 而方法又是index,這樣index函數就是php4中的構造函數,即實例化類時,直接執行這個函數而沒有執行父類的構造函數,也就沒有初始化CI核心類。因此會提示沒有定義屬性或方法了。php

用index類名也能夠,在函數

public function index() 方法前加上,調用父類的構造方法this

public function __construct() { parent::__construct(); }io

這個原理是:當類中同時存在php4和php5的構造函數時,只執行php5 的 __construct();。function

當在index方法中加上 parent::__construct()又會出現什麼呢? function index() { parent::__construct(); $this->load->view('.......'); }原理

重複執行了兩次 index方法。第一次php4的構造函數,第二次CI的index方法。構造函數

你們能夠試試!特在此寫下以加深理解和記憶。方法

相關文章
相關標籤/搜索