要你自定義的類庫中訪問CodeIgniter的原始資源,你必須使用 get_instance() 函式.這個函式返回一個CodeIgniter super object.
一般來說在你的控制器函式中你可以通過 $this 呼叫任何可用的CodeIgniter函式:
$this->load->helper(`url`);
$this->load->library(`session`);
$this->config->item(`base_url`);
$this, 只直接作用在你自己的控制器,模型和檢視中.當你在自定義類中想使用CodeIgniter原始類時,你可以這樣做:
首先,定義CodeIgniter物件賦給一個變數:
$CI =& get_instance();
一旦定義某個物件為一個變數,你就可以使用那個變數名 取代 $this:
$CI =& get_instance();
$CI->load->helper(`url`);
$CI->load->library(`session`);
$CI->config->item(`base_url`);
注意: 你將注意到get_instance()這個函式通過被引用的方式被傳遞:
$CI =& get_instance();
這十分重要. 通過引用的方式賦給變數將使使用原始的CodeIgniter物件,而不是建立一個拷貝
同時,請注意: 如果你使用php 4,那麼請最好不要在類的建構函式中呼叫 get_instance() .php4在引用位於建構函式中的CI super object時存在問題,因為物件只有在類完全例項化後才存在.