제목 | $this->CI->session->set_userdata($user); 와 $this->session->set_userdata($user); 차이가 있나요? | ||
---|---|---|---|
글쓴이 | 건곤대나이 | 작성시각 | 2014/09/27 15:10:09 |
|
|||
ci 를 이용해서 웹프로그램을 만드는 중입니다. ci 입문은 올해 4월달부터 입니다. 약 6개월차 되는군요 ^^; 자동 로그인 부분 구현중에 막혀서 공개된 ci 프로그램 몇가지를 보면서 작업중입니다. 그런데 어떤경우는 $this->CI->session->set_userdata($user); 를 호출하고 class Qauth { public function __construct() { $this->CI =& get_instance(); // Automatically load the form helper // Load Qauth config $this->CI->load->config('qauth', TRUE); // Load required library $this->CI->load->model('member_model'); // Load Qauth language $this->CI->lang->load('qauth'); } function login($data) { 전처리 $this->CI->session->set_userdata($user); 후처리 } } 또 어떤 경우는 CI가 없이 $this->session->set_userdata($user); 를 호출하는 경우를 발견했습니다. class Admin extends CI_Controller { public function __construct() { parent::__construct(); // 생성자 코드에 기능추가 } // if logged in, validate it. if ($this->qauth->is_logged()) { } // check auto sign-in elseif(자동로그인 조건) { 전처리 $this->session->set_userdata($user); 후처리 } } ******************************************************** CI가 중간에 들어간 호출과 그렇지 않은 호출의 차이가 무엇인지 궁금합니다. 그리고 어느 방식으로 사용하는것이 올바른 것인지도 알고 싶습니다. |
|||
다음글 | 라우터에 한글 사용 (2) | ||
이전글 | codeigniter database.php에서 dat... (4) | ||
letsgolee
/
2014/09/28 18:12:31 /
추천
0
|
건곤대나이
/
2014/09/28 20:26:22 /
추천
0
@letsgolee 님 답변 감사합니다.
class [Controller 이름] extends CI_Controller 가 들어간 클래스는 CI 없이 사용하고 단순 클래스는 $this->CI =& get_instance(); 해준후에 $this->CI 와 함께 사용한다는 말씀이시군요. 궁금한점이 많이 해소된듯 합니다. ^^ |
class [Controller 이름] extends CI_Controller 이렇게 나가는 겁니다.
$this->CI->session->set_userdata($user); 에서 $this는 단순 클래스입니다. 따라서 CI 를 그냥 쓸 수 없지요. 그래서 하는 방법은 CI를 불러와야겠지요? 그 함수가 get_instance()입니다. $this->CI를 쓰기전에 $this->CI =& get_instance(); 를 사용하는 것은 그 때문이구요. 그럼 왜 $this->CI냐? 그건 엿장수 맘입니다. 이 말은 이해하지요?