2010-09-28 63 views
4

我使用的是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');也不起作用。爲什麼它沒有正確加載?

謝謝

+0

我們可以看一下你的自動加載配置的相關部分的一部分控制器類? – treeface 2010-09-29 00:37:09

回答

5

試着把MY_Controller帶出自動載入。

$autoload['libraries'] = array('database', 'session'); 

你是在擴展它由笨自動加載,因爲它是核心

+0

這樣做。謝謝。 – 2010-09-29 14:00:00