제목 | session view 페이지에서 바로 사용 가능한가요?? | ||
---|---|---|---|
글쓴이 | 이카르트 | 작성시각 | 2009/09/06 00:12:05 |
|
|||
//세션저장하기 $this->_setSessinAdmin(); $data['sess_name'] = $this->session->userdata('username'); $data['sess_level'] = $this->session->userdata('level'); 이런식으로 컨트롤러에서 저장했는데요 뷰 페이지에서 $data 담긴 데이타 가져오는거 말구 session 의 값을 바로 가져오는 구문도 있나요? 제가 php 문법을 잘몰라서용 ^^;; 좀 알려주세용~~ |
|||
다음글 | jquery를 이용한 글쓰기 (2) | ||
이전글 | CI의 취약점을 발견한 공격자라면.. (7) | ||
마냐
/
2009/09/06 02:10:29 /
추천
0
|
이카르트
/
2009/09/06 17:39:54 /
추천
0
아 감사!
근데요 궁금한게 $this-> 이렇게 쓰는 함수들(?) view 페이지에서도 다 쓸수 있는건가요?? 컨트롤러에서만 사용되는게 아니구용?? 그리고 테스트 하나 보니까 값이 없는경우.. 선언되지 않은경우는 다 오류로 나오던데요 .. 혹시 empty 로 다 걸러줘야 하는건가요?? |
ci세상
/
2009/09/06 18:39:22 /
추천
0
$this는 view에서 100%는 아니고 98%는 사용가능합니다. 2%도 대안이 있으니 100%가능하다고 말씀드리구요.. CI의 큰 장점중 하나이기도 합니다. $this->load->view('test'); $this->메쏘드(); |
SADBLUE
/
2009/09/06 21:38:13 /
추천
0
$this 키워드는 생성되어진 객체에서 자기 자신을 가리키는 포인터라고 보시면 됩니다.
따라서 컨트롤에서 this와 user define class에서 this는 서로 다르게 됩니다. model에서 this키워드를 사용 할 시에 컨트롤에 있는 method 나 멤버 변수들도 참조가 되던데.. 이게 전 이해가 안가더라구요. 그래서 MY_Model wrapping해서 따로 get_instance를 받는 변수를 선언해서 따로 참조를 합니다. |
변종원(웅파)
/
2009/09/06 21:54:43 /
추천
0
엥.. 모델에서 자기를 호출한 컨트롤러의 this키워드에 의한 변수가 참조가 되요? |
SADBLUE
/
2009/09/06 22:22:26 /
추천
0
네 저도 참 신기했어요.~_~
회사사람들이 model에서 controller에 있는 것들을 아무런 선언이나 그런것 없이 쓰고 있더라구요. 도저히 제 상식으로는 이해가 안가는 상황인데...회사 사람들이 그렇게 쓰고 있는 것이었습니다.; 일단 위에서 설명 드렸듯이 MY_Model을 만들어서 연결 변수를 배열로 만들어서 쓰고 있는 상황입니다. 근데 제가 테스트 할라고 보면 에러 나는 경우도 있고.. 100% 다 참조 되는 것은 아닌것 같다 라고 생각 하고 머야 이건 이러고 있습니다.~_~ 회사에서는 1.7 버전을쓰고 있습니다. |
ci세상
/
2009/09/07 00:02:56 /
추천
0
|
SADBLUE
/
2009/09/07 09:44:39 /
추천
0
아니요 그건 아닙니다.
모델상에서 $this->모델변수 = $this->컨트롤에서 load 한 라이브러리->method이런식으로 쓰이고 있습니다. 너무 많이 이렇게 사용해 놔서 수정을 포기 한 상태 입니다.~_~; |
Die.t
/
2009/09/08 16:49:46 /
추천
0
저는 model에서 컨트롤러에서 미리 정해둔 변수를 사용할 경우 $CI =& get_instance 한 후에 변수를 읽어오는 걸로 사용했는데 라이브러리의 model.php 파일을 보니 그럴 필요가 없네요..
_assign_libraries 라는 메쏘드로 $CI =& get_instance 한 값 전부를 $this->XXX 로 재지정 하고 있습니다. 아마도..컨트롤러 내에서 현재 모델을 호출하기 이전에 로드된 라이브러리 및 다른 모델의 메쏘드 등도 전부 $this 로 불러올 수 있도록 한 것 같네요..잘 쓰면 편할 듯.. 덕분에 좋은 걸 알았습니다.. |
ci세상
/
2009/09/08 17:12:23 /
추천
0
Die.t / Model.php 라이브러리 소스상을 보시면 autoload.php를 이용하거나 사용자에 의해서 모델이 호출이 될때 ~~ 해당 모델을 체크 후 모든 메쏘드들을 담아두어서 사용할 수 있게 CI가 지원 해주고 있습니다. 이렇게 저장해 둔것은 MVC 어느곳에서나 사용이 가능하구요 ~~~ 이것이 편하다고 하신것이지요? |
Die.t
/
2009/09/10 19:21:59 /
추천
0
ci세상/
네..웅파님이 말씀한 모델에서 자기를 호출한 컨트롤러의 this키워드에 의한 변수가 참조된다는 것도 해당되구요.. 전 당연히 안되는 줄 알았는데...ㅜ.ㅜ 생각해보니 $this->db->query 형식으로 모델에서 사용하는데..컨트롤러에서 지정한 변수나 메쏘드를 호출하지 못할 이유가 없겠더라구요... |
뷰페이지에서 바로 가져오셔도 상관 없습니다
<?=$this->session->userdata('username')?>