질문 Q #13549
CI 간단한 문법 질문있습니다.
overman623 2016-05-03 10:56:44

가령 segment_array() 메소드를 쓰려고 할때

$this->uri->segment_array(); 이렇게 쓰는것이 보통이지만

 

전역변수로 CI를 선언하고

생성자에서

$this->CI =& get_instance(); 이렇게 선언하여

 

속한 메소드에서

$this->CI->uri->segment_array(); 로 쓰는 방식을 봤었습니다.

 

같은 동작을 하긴 하지만 생성자에서 저렇게 선언한 이유를 알고 싶습니다.

덧붙여서

$CI =& get_instance(); 가 코드의 시작부분에서 많이 보입니다. 이 문장의 용도도 알고 싶습니다.

답변 2
#1 헤덥 2016-05-03 11:00:00

간단하게 말씀드리면 ci의 객체를 참조받는것입니다. 

controller / model / view 에서는 $this 로 접근이 가능하지만

그외의 작업 헬퍼/라이브러리 등등 에서는 ci의 기능을 쓰기 위해서는 참조를받아 접근해야 합니다~

#2 육사시미 2016-05-03 11:01:29

php 참조 관련하여 확인 해 보세요.

https://secure.php.net/manual/kr/language.oop5.references.php