CI4
ci 세션
수수깡깡
2022. 7. 8. 08:33
728x90
반응형
# 세션 동작
페이지가 로드되면 세션 클래스는 사용자의 브라우저에서 유효한 세션 쿠키가 전송되는지 확인한다.
세션 쿠키가 존재하지 않거나, 서버에 저장된 쿠키와 일치하지 않거나, 만료된 경우 새 세션이 생성되고 저장된다.
유효한 세션이 존재하면 해당 정보가 업데이트되며, 업데이트할 때마다 세션 ID가 다시 생성될 수 있다.
#세션 액세스 및 초기화
세션은 일반적으로 각 페이지를 로드할 때마다 전체적으로 실행되므로 세션 클래스를 초기화해야 합니다.
- $session = \Config\Services::session($config); => $config 는 옵션이므로 안 쓸 경우 삭제
- $session = session();
#세션 닫기
- session_write_close();
#세션 정보 입력
$session->set($array); //배열형태로 입력
<?
namespace App\Controllers;
class LoginSample extends BaseController
{
public function login()
{
$session = session();
$newdata = [
'username' => 'johndoe',
'email' => 'johndoe@some-site.com',
'logged_in' => true,
];
$session->set($newdata);
//$session->set('some_name', 'some_value');
}
}
#세션 정보 가져오기
세션 배열의 정보는 $_SESSION 통해 가져온다.
- 특정 세션 정보 가져오기
- $item = $_SESSION['item'];
- $item = $session->get('item');
- $item = $session->item;
- $item = session('item');
- 세션 정보 모두 가져오기
- $userData = $_SESSION;
- $userData = $session->get();
#세션 존재확인
isset(세션정보)
<?
if ( isset($_SESSION['some_name'])) ) {
//세션정보 존재
} else {
//세션정보 없음
}
#세션데이터 제거
- unset($_SESSION['some_name']);
- $session->remove('some_name');
#세션파괴
현재 세션을 지우려면 (ex 로그 아웃) PHP의 session_destroy() 함수 또는 라이브러리의 destroy() 메소드를 사용하면 된다.
- session_destroy();
- $session->destroy();
#세션종료
이전 session_id와 모든 데이터를 삭제하고, 세션 ID가 포함된 쿠키를 삭제하여 세션을 완전히 종료할 수 있다.
- $session->stop();
728x90
반응형