세션 업그레이드
문서
변경된 사항
메서드 이름과 라이브러리 로드 방법과 같은 소소한 부분만 변경되었습니다.
데이터베이스 드라이버의 세션 테이블 정의가 변경되었습니다.
업그레이드 가이드
세션 라이브러리를 사용한 모든 곳에서
$this->load->library('session');을$session = session();으로 교체하십시오.그 이후
$this->session으로 시작하는 모든 줄을 새 메서드 이름이 뒤따르는$session으로 교체해야 합니다.세션 데이터에 접근하려면 CI3 구문
$this->session->name대신$session->item또는$session->get('item')구문을 사용하십시오.데이터를 설정하려면
$this->session->set_userdata($array);대신$session->set($array);를 사용하십시오.데이터를 제거하려면
$this->session->unset_userdata('some_name');대신unset($_SESSION['some_name']);또는$session->remove('some_name');를 사용하십시오.다음 요청에서만 사용 가능한 플래시데이터로 세션 데이터를 표시하려면
$this->session->mark_as_flash('item');대신$session->markAsFlashdata('item');을 사용하십시오.
데이터베이스 드라이버를 사용하는 경우 세션 테이블을 다시 생성해야 합니다. DatabaseHandler 드라이버를 참조하십시오.
코드 예제
CodeIgniter 버전 3.x
<?php
$this->load->library('session');
$_SESSION['item'];
$this->session->item;
$this->session->userdata('item');
CodeIgniter 버전 4.x
<?php
$session = session();
$_SESSION['item']; // But we do not recommend to use superglobal directly.
$session->get('item');
$session->item;
session('item');