2013-02-25 55 views
0

我如何可以加載application/config/site_globals.php得到變量,並在每個控制器(同locig鉤),無每個控制器開始使用它呢?我需要使用變量,而不喜歡將它們保留在會話中。裝載現場全局變量只和使用無處不在

這就是我們通常拋磚引玉吧:以上

$this->load->config('site_globals'); 
$my_globals = $this->config->item('site'); 
echo $my_globals['header_note']; //for example, there are many more 

代碼已經在每個控制器這是一種痛苦被複制。

感謝

回答

1

創建延伸是CI_Controller一個MY_Controller,在MY_Controller構造函數加載全局,然後確保你的所有其他控制器擴展,而不是是CI_Controller MY_Controller。

查看文檔:http://ellislab.com/codeigniter/user-guide/general/core_classes.html

備案同樣的事情可以爲所有的核心類來完成,即MY_Session,MY_Model等使得具有重複的代碼,如果你使用它們輕鬆了許多。

1
class Custom_Controller extends CI_Controller 
{ 

    $this->load->config('site_globals'); 
    $my_globals = $this->config->item('site'); 
    echo $my_globals['header_note']; 
} 

然後,在每一個控制器,你需要使用這些全局變量,你使用它,例如:用於此目的

class Example extends Custom_Controller 
{ 

    //your code here 
} 
+0

謝謝你的例子。 – BentCoder 2013-02-25 13:56:51

+0

感謝重播,因爲它讓我看到了我的錯誤:) – 2013-02-25 14:42:39

3

的application/config/constant.php文件使用。

+0

有用的信息。謝謝。 – BentCoder 2013-02-25 13:56:16