반응형
세션 라이브러리
출처:
http://ci4doc.cikorea.net/libraries/sessions.html
세션 초기화
$session = \Config\Services::session($config);
$session = session();
세션 데이터 검색
/*
세션 데이터 검색 방법
$_SESSION['item']
$session->get('item');
$session->item
session('item');
*/
$name = $_SESSION['name'];
// or:
$name = $session->name
// or:
$name = $session->get('name');
모든 세션 데이터 호출
$_SESSION
// or:
$session->get();
세션 데이터 추가
/*
세션 데이터 추가 방법
$session->set($array);
*/
$newdata = [
'username' => 'johndoe',
'email' => 'johndoe@some-site.com',
'logged_in' => TRUE
];
$session->set($newdata);
// 한 번에 하나의 값으로 세션 데이터를 추가
$session->set('some_name', 'some_value');
// 세션 값이 존재하는지 확인하려면 isset()으로 확인
// returns FALSE if the 'some_name' item doesn't exist or is NULL,
// TRUE otherwise:
isset($_SESSION['some_name'])
세션 데이터 제거
unset($_SESSION['some_name']);
// or multiple values:
unset(
$_SESSION['some_name'],
$_SESSION['another_name']
);
// or:
$session->remove('some_name');
// or:
$array_items = ['username', 'email'];
$session->remove($array_items);
플래시 데이터
CodeIgniter는 세션 데이터를 다음 요청에서만 사용한 다음 자동으로 지워지는 “flashdata”를 지원
$_SESSION['item'] = 'value';
$session->markAsFlashdata('item');
// or:
$session->setFlashdata('item', 'value');
// 플래시 데이터 읽는 방법
$_SESSION['item']
// getFlashdata() 메소드를 사용하면 "flashdata"의 값만 호출
$session->getFlashdata('item');
// 모든 플래시 데이터가 있는 배열호출
$session->getFlashdata();
//플래시 데이터 유지
$session->keepFlashdata('item');
$session->keepFlashdata(['item1', 'item2', 'item3']);
tempdata
CodeIgniter는 특정 만료 시간을 가지는 세션 데이터. 값이 만료되거나, 세션이 만료되거나, 삭제되면 값이 자동으로 제거
// 'item' will be erased after 300 seconds
$session->markAsTempdata('item', 300);
// or:
// Both 'item' and 'item2' will expire after 300 seconds
$session->markAsTempdata(['item', 'item2'], 300);
// 'item' will be erased after 300 seconds, while 'item2'
// will do so after only 240 seconds
$session->markAsTempdata([
'item' => 300,
'item2' => 240
]);
// or:
$_SESSION['item'] = 'value';
$session->markAsTempdata('item', 300); // Expire in 5 minutes
// or:
$session->setTempdata('item', 'value', 300);
// or:
$tempdata = ['newuser' => TRUE, 'message' => 'Thanks for joining!'];
$session->setTempdata($tempdata, NULL, $expire);
//getTempdata() 메소드를 사용하여 "tempdata"의 값만 가져올수 있음
$session->getTempdata('item');
$session->getTempdata();
// tempdata 값을 제거
unset($_SESSION['item']);
세션 삭제
session_destroy();
// or
$session->destroy();
//세션을 완전히 종료
$session->stop();
'CI4' 카테고리의 다른 글
[코드이그나이터] .hwp확장자를 mimetype에 추가하기 (0) | 2020.09.08 |
---|---|
[코드이그나이터] 파일 라이브러리 (0) | 2020.09.08 |
[코드이그나이터] User Agent 클래스 (0) | 2020.09.07 |
[코드이그나이터] 암호화 (0) | 2020.09.07 |
[코드이그나이터] 모델 구성 [model] (0) | 2020.09.07 |