개발 Q&A

제목 CI 2.1.3 사용자 $this->CI 변수 질문
글쓴이 런더너 작성시각 2016/10/09 10:10:11
댓글 : 1 추천 : 0 스크랩 : 0 조회수 : 12485   RSS
디버거를 통해서 변수의 내용을 확인해보다가 이상한 점이 있어 질문드립니다.
CI 2.1.3 이고요 xdebug 로 디버깅합니다.

특정 클래스(컨트롤러)에서 아래의 명령을 실행함으로 얻어지는 $this->CI 에 대한 문의 입니다.
$this->CI =& get_instance();

위의 명령 한 줄을 통해 얻어진 $this->CI 의 내용을 확인해보니 하위로 무한대의 (체크는 20노드 정도 까지 해봤고요.. 계속 나올듯 합니다.) CI 변수를 포함하고 있었습니다. 

추가되는 CI 의 내용(키&밸류)은 $this->CI 와 일치합니다. 


$this->CI has $CI ($this->CI->CI)
$this->CI->CI has $CI ($this->CI->CI->CI)
$this->CI->CI->CI has $CI ($this->CI->CI->CI->CI)
$this->CI->CI->CI->CI has $CI ($this->CI->CI->CI->CI->CI)

............ 

................

 

왜 이런 결과가 나오는걸까요?

이게 아무런 문제가 되는건 아닌지 아니면 수정을 해야하는지 궁금합니다.

 

 다음글 DB 고수님들 도와주세요.. (4)
 이전글 Ajax로 호출된 컨트롤러에서 데이터 찍어보는 방법. (3)

댓글

변종원(웅파) / 2016/10/10 10:47:47 / 추천 0

왜 컨트롤러에서 아래 구문을 실행하죠? 내가 나를 호출하는 재귀호출과 같습니다.

아래 구문은  ci 제어권 바깥에서 ci의 자원을 사용하기 위한 방법입니다. (예를 들면 hook 같은 경우나 라이브러리에서 사용하는 겁니다)

$this->CI =& get_instance();