我使用的是CodeIgniter(v1.7.2),我創建了一個自定義控制器,它包含名爲MY_Controller的認證(基於David Winter的博客文章)。當我加載任何使用這個基類的控制器時,我得到這個錯誤;CodeIgniter客戶控制器類表示會話未定義
*消息:未定義的屬性:MY_Controller :: $會議*
請注意,我自動加載 '會話'(和 'MY_controller' 作爲一個庫),像這樣:
$autoload['libraries'] = array('database', 'session', 'MY_Controller');
這裏是MY_Controller:
class MY_Controller extends Controller {
public function __construct() {
parent::__construct();
if (!$this->session->userdata('loggedin')) { <-- error is here
header('Location: /sessions/login');
exit();
}
}
}
下面是我試圖負載控制器:
class Welcome extends MY_Controller {
function __construct() {
parent::__construct();
}
function index() {
$this->load->view('header');
$this->load->view('welcome_message');
$this->load->view('footer');
}
}
當我var_dump $this->session
上面發生錯誤,我可以看到它是NULL。即使在MY_Controller的構造函數中加入$this->load->library('session');
也不起作用。爲什麼它沒有正確加載?
謝謝
我們可以看一下你的自動加載配置的相關部分的一部分控制器類? – treeface 2010-09-29 00:37:09