2011-01-07 1 views
0

私はcodeigniterを初めて使っています。CodeIgniter Basic

$ CI = & get_instance()の使用方法を知りたいです。

はエラーロギングまたはグローバル設定変数に使用します。

ありがとうございます。 CodeIgniterのマニュアルから

答えて

9

$ CI = & get_instance();

あなたは オブジェクトを変数に割り当てられたら、あなたはその変数 の代わりに$この使用します:

$CI =&get_instance(); 

$CI->load->helper('url'); 
$CI->load->library('session'); 
$CI->config->item('base_url'); etc. 

を注:上記の get_instance()関数が参照渡し される:

$CI =& get_instance(); 

これは非常に重要です。 参照を割り当てると、元のCodeIgniterオブジェクト ( )を使用してそのコピーを作成することができます。

また、注意してください:あなたは PHP 4を実行している場合、それはあなたの クラスのコンストラクタ内から 呼び出しget_instanceを()を避けるために、通常は最善です。 クラスが完全にインスタンス化されるまで、オブジェクトは存在しないため、PHP 4は という問題をアプリケーションコンストラクタ内のCIスーパー オブジェクトを参照することによって解決します。

リンク:CI_Controllerを拡張 http://codeigniter.com/user_guide/general/creating_libraries.html

+0

感謝を

$CI=&get instance(); $CI->load->library('something'); $CI->load->helper('something'); 

を使用する必要があります。どうもありがとうございました –

0

のみクラス、モデル、ビューは、カスタムクラスは上記のコードを使用することはできません

$this->load->library('something'); 
$this->load->helper('something');//etc 

を使用することができます。カスタムクラスで上記の機能を使用するには 、あなたはあなたのカスタムクラスで、例えばそれは私に多くのことができます

// this following code will not work 
Class Car 
{ 
    $this->load->library('something'); 
    $this->load->helper('something'); 
} 


//this will work 
Class Car 
{ 
    $CI=&get_instance(); 
    $CI->load->library('something'); 
    $CI->load->helper('something'); 
} 
// Here $CI is a variable.