PHP 초보자인데 $CI =& get_instance();
라고 쓰는 사람을 봤습니다.사용자 정의 클래스 라이브러리에서 CodeIgniter의 원본 리소스에 액세스하려면 get_instance() 함수를 사용해야 합니다. 이 함수는 CodeIgniter 슈퍼 개체를 반환합니다.
일반적으로 컨트롤러 함수에서 $ 이 호출을 전달할 수 있습니다. 사용 가능한 CodeIgniter 함수:
$this->load->helper('url');
$this->load->library('session');
$ this-> ;config->item('base_url');
etc.
$this는 사용자 정의 클래스에서 사용하려는 경우 자체 컨트롤러, 모델 및 보기에서만 직접 작동합니다. 원본 CodeIgniter를 사용하는 경우 클래스의 경우 다음과 같이 할 수 있습니다.
먼저 CodeIgniter 개체를 정의하고 이를 변수에 할당합니다.
$CI =& get_instance()
개체를 변수로 정의한 후에는 That을 사용할 수 있습니다. 변수 이름은 $this를 대체합니다:
$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()를 호출합니다. php4에서는 생성자에 있는 CI 슈퍼 개체를 참조할 때 문제가 발생합니다. 개체는 클래스가 완전히 인스턴스화된 후에만 존재하기 때문입니다.