클래스 라이브러리에서 get_instance() 함수를 사용하여 액세스하세요. CodeIgniter의 기본 리소스인 이 함수는 CodeIgniter 슈퍼 개체를 반환합니다.
일반적으로 컨트롤러 메소드에서는 $this을 사용하여 사용 가능한 모든 항목을 호출합니다. CodeIgniter 방법:
$this->load->helper('url'); $this->load->library('session'); $this->config->item('base_url'); // etc.
하지만 $this은 자신의 클래스에서 사용하려는 경우 컨트롤러, 모델 또는 뷰에서만 직접 사용할 수 있습니다. CodeIgniter 클래스에서 다음을 수행할 수 있습니다.
먼저 CodeIgniter 객체를 변수에 할당합니다:
$CI =& get_instance();
CodeIgniter 객체를 변수에 할당하면 해당 변수를 대신 에 사용할 수 있습니다. $this
$CI =& get_instance(); $CI->load->helper('url'); $CI->load->library('session'); $CI->config->item('base_url'); // etc.
참고:
위의 get_instance() 함수가 참조로 전달되는 것을 볼 수 있습니다.
$CI =& get_instance();
이것은 매우 중요한 점은 참조 할당을 사용하면 복사본을 만드는 대신 원본 CodeIgniter 개체를 사용할 수 있다는 것입니다.
클래스 라이브러리는 클래스이므로 OOP 원칙을 최대한 활용하는 것이 좋습니다. 따라서 클래스의 모든 메서드가 CodeIgniter 슈퍼 객체를 사용할 수 있도록 속성에 할당하는 것이 좋습니다. :
class Example_library { protected $CI; // We'll use a constructor, as you can't directly call a function // from a property definition. public function __construct() { // Assign the CodeIgniter super-object $this->CI =& get_instance(); } public function foo() { $this->CI->load->helper('url'); redirect(); } public function bar() { echo $this->CI->config->item('base_url'); } }
관련 권장 사항:
위 내용은 003 - CI는 라이브러리의 CodeIgniter 리소스를 사용합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!