Session Session 사용 및 관리 방법을 안내합니다.

사용 준비

Session을 사용하기 위해선 아래와 같이 Controller 최상단에 use 가 선언 되어야 합니다.
Controller /app/test.php
<?php
use Corelib\Session;

Session 시작

세션은 zigger에서 항상 활성화되어 있습니다.
Controller 상단에 use 를 선언하는 것 만으로도 세션을 사용할 준비가 완료됩니다.

zigger에서 생성되는 세션은 File이 아닌, Database에 기록되어 관리됩니다.

새로운 Session 생성

세션은 아래 예시와 같이 생성할 수 있습니다.
Controller /app/test.php
<?php
use Corelib\Session;

...

Session::set_sess('name', $val);
인자값 설명
name 생성할 세션명 입력
$val 기록할 세션 내용 입력

Session 읽기

생성된 세션은 아래 예시와 같이 읽을 수 있습니다.
Controller /app/test.php
<?php
use Corelib\Session;

...

$sess_name = Session::sess('name');

if ($sess_name != 'Foo') {
    ...
}
인자값 설명
name 세션명 입력

Session 존재 여부 확인

세션이 이미 생성되어 있는지 검사합니다.
세션이 생성되어 있지 않다면 false를 반환합니다.
Controller /app/test.php
<?php
use Corelib\Session;

...

$is_session = Session::is_sess('name');

if ($is_session !== true) {
    ...
}
인자값 설명
name 세션명 입력

Session 비우기

이미 생성되어 있는 세션의 내용을 비울 수(null) 있습니다.
세션을 비우는 방법은 아래 예시를 참고합니다.
Controller /app/test.php
<?php
use Corelib\Session;

...

Session::empty_sess('name');
인자값 설명
name 세션명 입력

모든 Session 파기

이미 생성되어 있는 모든 세션을 다시 사용할 수 없도록 파기합니다.
Controller /app/test.php
<?php
use Corelib\Session;

...

Session::drop_sess();
인자값 설명
name 세션명 입력

Session 수명 주기 설정

zigger의 기본 세션 수명은 24시간(86400초)으로 설정되어 있습니다.
수명 주기는 아래와 같이 /lib/config.set.php 에서 변경 가능합니다.
Controller /lib/config.set.php
...
define('SET_SESS_LIFE', 86400); //세션 유지 시간 (초 단위)
...

파일 Session 방식으로 변경

zigger는 기본적으로 DB 세션 방식을 채택하고 있습니다. DB서버 성능 저하로 인해 파일 세션 방식으로 변경 하려는 경우
아래와 같이 /lib/config.set.php 에서 활성화 및 세션 파일 경로 설정이 가능합니다.
Controller /lib/config.set.php
...
define('PH_SESSION_FILE_PATH', PH_PATH.'/data/sessions'); //파일세션 생성 경로
...
define('SET_SESS_FILE', false); //파일세션 사용 여부 (true: 파일세션, false: DB세션)
...