ホームページ >バックエンド開発 >PHPチュートリアル >php $CI =& get_instance();
PHP の初心者、$CI =& get_instance();
というように誰かが書いているのを見ました。カスタム クラス ライブラリ内の CodeIgniter の元のリソースにアクセスするには、get_instance() 関数を使用する必要があります。この関数は CodeIgniter スーパー オブジェクトを返します。
一般的に、コントローラー関数では $this CodeIgniter 関数を通じて使用可能なものを呼び出すことができます。 :
$this->load->helper('url');
$this->load->library('session');
$this->config->item( 'base_url' );
etc.
$this は、独自のコントローラー、モデル、ビューでのみ直接動作します。CodeIgniter のオリジナル クラスをカスタム クラスで使用したい場合は、次のようにすることができます。
まず、CodeIgniter オブジェクトを定義します。 variable:
$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 スーパー オブジェクトを参照する際に問題が発生します。