제목 | CI 선배님들 쿠키에 대해서 질문! | ||
---|---|---|---|
글쓴이 | 초보프로그래머 | 작성시각 | 2015/02/12 15:54:01 |
|
|||
현재 개발중인 기능은, 컨트롤러 등이 로딩 되기 전에, 후크에서 브라우져에 언어를 쿠키로 구워서, 그 쿠키값에 따라서, ko 폴더에 뷰를 보여줄지, en 폴더에 뷰를 보여줄지, 판가름이 나는 기능 입니다. 근데, 문제는, post_controller_constructor (인스턴스화 직후) 인데, 이미 메인 컨트롤러 생성자가 실행 된 후에, hook 를 하더라구요. 그래서 생성자에서는 현재 get_cookie 를 하는데, 당연히 후크에서 set_cookie 를 안했기 때문에, 값이 없습니다. 그렇다고, pre_controller 쓰면, 인스턴스가 없어서 set_cookie 를 못합니다. 방법이 있을까요?ㅠㅠㅠㅠㅠ |
|||
다음글 | DB 커넥션 질문 입니당. (3) | ||
이전글 | 나라마다 표시되는 언어를 다르게 하고싶은데요. (3) | ||
한대승(불의회상)
/
2015/02/12 16:14:44 /
추천
0
Hook에서 CI 인스턴스가 필요하다면 get_instance() 로 가져와서 처리 하면 됩니다.
|
초보프로그래머
/
2015/02/12 16:25:41 /
추천
0
function setCookie() // replace setlang
{ $lang = $_SERVER["HTTP_ACCEPT_LANGUAGE"]; $lang = explode(",",$lang); $lang = substr($lang[0], 0,2); set_cookie('langSet', $lang, 0); } 후크입니다. 이렇게 되어있는데, 여기서 $CI =& get_instance(); $lang = $CI->$_SERVER["HTTP_ACCEPT_LANGUAGE"]; 이렇게 하라는건가요? 이런건 한번도 안해봐서 감 조차 모르겠는데, 정말 죄송하지만 조금만 더 자세히 가능할까요?ㅠ 아니면 관련 api 는 어디쪽으로 들어가면 되는것인가여? |
한대승(불의회상)
/
2015/02/12 16:47:47 /
추천
0
초보프로그래머// 정확히 뭐가 문제인지 잘 모르겠네요.
쿠키를 사용하지 말고 $lang의 값을 그냥 전역변수로 넘기는게 더 나을것 같은데요. |
변종원(웅파)
/
2015/02/12 18:18:27 /
추천
0
쿠키로 하지 마시고 상수 선언하시면 편합니다.
|