제목 | ci 3.x 버전에서 hook에서 컨트롤러 요청전에 세션을 사용하고 싶은데 에러가 납니다. | ||
---|---|---|---|
카테고리 | CI 2, 3 | ||
글쓴이 | 개발새발 | 작성시각 | 2019/07/09 19:03:07 |
|
|||
기존 2.x 버전때에는 hook에서 컨트롤러 요청전['pre_controller'] extends CI_Controller로 상속받으면 세션이 정상적으로 로드되었습니다.
기존 3.x 버전때에는 hook에서 컨트롤러 요청전['pre_controller'] extends CI_Controller로 상속받고 세션을 로드하면 로드가 되지 않습니다.
구글링을 통해 private $CI; function __construct() { $this->CI =& get_instance(); if($this->CI === NULL){ new CI_Controller(); $this->CI =& get_instance(); } if(!isset($this->CI->session)){ //Check if session lib is loaded or not $this->CI->load->library('session'); //If not loaded, then load it here } } 다음과 같이 작성하면 세션을 사용할수있었지만 컨트롤러 요청전이아닌 컨트롤러 요청 후입니다. 세션이 드라이버로 옮겨져서이다 등 여러 변화된 이슈가 있었는데 도저히 이유를 모르겠습니다......ㅠㅠㅠ
|
|||
다음글 | composer로 Codelgniter 설치문제 (5) | ||
이전글 | 오라클 DB 데이터 한글출력(캐릭터셋)에 관한 질문입니... (3) | ||
한대승(불의회상)
/
2019/07/10 08:22:48 /
추천
0
|
kaido
/
2019/07/10 10:33:32 /
추천
0
컨트롤러 요청전인데 컨트롤러 객체를 어디서 가져오죠? ^^ CI의 객체는 load class 에서 전부 DI 주입식으로 이루어 집니다. 컨트롤러 요청전이라는 것은 컨트롤러가 로드되지 전이라는 의미입니다. 컨트롤러 객체를 가져와야 하는 이유는 모르겠으나,오히려 컨틀롤러가 로드된 후에 반대로 트러블이 생기기도 합니다. |
get_instance() 로 프레임워크 객체를 가져온후 사용하면 됩니다.