제목 | hook 제대로 작동 되지 않는 현상 | ||
---|---|---|---|
카테고리 | CI 2, 3 | ||
글쓴이 | 마음열기 | 작성시각 | 2017/04/27 10:20:51 |
|
|||
PHP v5.8, CI v3 이상을 사용하고 있습니다. 간단하게 말씀드리자면... hook이 제대로 작동 하지를 않습니다.
hooks 설정 $hook['pre_controller_constructor'][] = array( 'class' => 'CommonClass', 'function' => 'login_check', 'filename' => 'CommonClass.php', 'filepath' => 'hooks' );
CommonClass 내용 class CommonClass { private $ci = ''; public function __construct() { $this->ci =& get_instance(); $this->ci->load->library('util'); } public function login_check() { $ci =& get_instance(); $ci->load->library('util'); if ($ci->input->cookie('user_id') != '') { $ci->load->model('member_model', 'member', true); $ci->member->login_history($this->ci->input->cookie('user_id')); } } } 위와 같습니다. 별거 없습니다. 계정이 cookie에 저장 되어 있다면 로그인 history를 쌓아 주는 것입니다. 근데 웃기는 건 hook 포인트가 'pre_controller' 이면 전혀! 아무런 반응도 없고! 'pre_controller_constructor' 로 잡으면 libray 로드 하는 부분 부터 몽땅 에러가 발생합니다. 매우 단순하고 간단한 기능인데 무엇이 문제인지 모르겠습니다. 이런 현상을 격어 보셨거나, 문제 원인을 알고 계신분의 도움이 필요합니다. ㅜㅜ |
|||
다음글 | 파일 불러오기 경로 문제 질문입니다. (3) | ||
이전글 | 초보자인데 이틀째 업데이트 기능을 해결 못하고 있습니다... (9) | ||
kaido
/
2017/04/27 10:27:17 /
추천
0
|
변종원(웅파)
/
2017/04/27 10:34:09 /
추천
0
pre_controller로 하고 $ci->input->cookie('user_id') 를 출력해보세요. pre_controller_constructor 는 없습니다. |
한대승(불의회상)
/
2017/04/27 10:56:28 /
추천
0
application/config/config.php 파일 여셔서 $config['enable_hooks'] 이 TRUE로 되어 있는지 확인해 보세요.
|
http://www.ciboard.co.kr/user_guide/kr/general/hooks.html
pre_controller_constructor 이라는 옵션은 없는것 같습니다.
문서 참고하셔서 타이밍은 연구해 보셔야 합니다.
pre_controller 이라면 컨트롤러가 사용되기 전이고, 라이브러리들이 로드 되기 전일 수도 있겠네요.
개인적으로 세션 작업 후킹은 post_controller_constructor 으로 작업 합니다.
밑에는 제가 작성한 간단한 hook 사용법.
http://cikorea.net/bbs/view/lecture?idx=12894&page=1&view_category=&lists_style=