> php教程 > PHP开发 > thinkphp3.x의 세션 메소드 활용 분석

thinkphp3.x의 세션 메소드 활용 분석

高洛峰
풀어 주다: 2016-12-22 10:19:27
원래의
1220명이 탐색했습니다.

이 기사의 예에서는 thinkphp3.x의 세션 메소드 사용법을 설명합니다. 참고하실 수 있도록 모두와 공유해 주세요. 자세한 내용은 다음과 같습니다.

1. Session 방식은 Session 설정, 획득, 삭제, 관리 작업에 사용됩니다. Session은 Session 설정, 조회, 삭제, 관리 작업에 사용됩니다.

사용법 session($name, $value='')

매개변수 이름(필수): 배열을 전달하는 경우, null이 전달되면 현재 세션을 지우는 것을 의미합니다. 문자열인 경우 세션 할당, 획득 또는 작업을 의미합니다.

값(선택): 설정할 세션 값입니다. null이 전달되면 기본값은 빈 문자열입니다.

반환 값은 다른 값을 반환합니다. 특정 용도에 따라

세션 기능은 다양한 매개변수를 전달하여 다음 기능을 포함하여 다양한 기능 작업을 완료할 수 있습니다.

2. 세션 초기화 설정

세션 메소드의 name 매개변수가 배열에 전달되면 세션 초기화 설정을 의미합니다. 예:

session(array('name'=>'session_id','expire'=>3600));
로그인 후 복사

지원되는 수신 세션 매개변수는 다음과 같습니다:

id session_id 값
name session_name 값
path session_save_path 값
prefix 세션 현지화 공간 접두사
expire session.gc_maxlifetime 설정 값
도메인 session.cookie_domain 설정 값
use_cookies session.use_cookies 설정 값
use_trans_sid session.use_trans_sid 설정 값
cache_limiter session_cache_limiter 설정 값
cache_expire session_cache_expire 설정 값
type 세션 핸들러 유형, 핸들러 드라이버 확장

을 사용할 수 있습니다. 세션 초기화 설정 방법은 수동으로 호출할 필요가 없으며 일반적으로 App 클래스의 초기화 작업이 완료된 후 자동으로 호출됩니다. SESSION_OPTIONS 매개변수를 구성해야 합니다. SESSION_OPTIONS 매개변수의 설정은 배열이며, 지원되는 인덱스 이름은 이전 세션 초기화 매개변수와 동일합니다.

기본적으로 시스템은 초기화 후 세션을 자동으로 시작합니다. 시스템이 세션을 자동으로 시작하지 않도록 하려면 SESSION_AUTO_START를 false로 설정할 수 있습니다. 예:

'SESSION_AUTO_START' =>false
로그인 후 복사

자동 시작을 끈 후 프로젝트의 공개 파일에서 세션을 시작하거나 컨트롤러에서 session_start 또는 session('[start]')을 수동으로 호출하여 세션을 시작할 수 있습니다.

3. 세션 할당

세션 할당은 비교적 간단합니다. 직접 사용하세요.

session('name','value'); //设置session
로그인 후 복사
로그인 후 복사

은 다음과 같습니다. :

$_SESSION['name'] = 'value';
로그인 후 복사

4. 세션 값

세션 값 용도:

$value = session('name');
로그인 후 복사
로그인 후 복사

은 다음을 사용하는 것과 같습니다.

$value = $_SESSION['name'];
로그인 후 복사

5. 세션 삭제

session('name',null); // 删除name
로그인 후 복사

은 다음과 같습니다.

unset($_SESSION['name']);
로그인 후 복사

모든 세션을 삭제하려면 다음을 사용할 수 있습니다.

session(null); // 清空当前的session
로그인 후 복사

$_SESSION = array();
로그인 후 복사

6. 세션 판단

판단 세션 값이 이미 설정되었는지 여부는

session('?name');
로그인 후 복사
로그인 후 복사

을 사용하여 name이라는 세션 값이 설정되었는지 확인할 수 있습니다.

isset($_SESSION['name']);
로그인 후 복사

7. 세션 관리

세션 메서드는 몇 가지 간단한 세션 관리 작업을 지원합니다.

session('[操作名]');
로그인 후 복사

지원되는 작업 이름은 다음과 같습니다.

start start session

pause Pause session writing

destroy destroy session
regenerate 세션 ID 재생성

사용 예는 다음과 같습니다.

session('[pause]'); // 暂停session写入
session('[start]'); // 启动session
session('[destroy]'); // 销毁session
session('[regenerate]'); // 重新生成session id
로그인 후 복사

8. 현지화 지원

통과한 경우 세션 설정 초기화 시에 prefix 파라미터나 SESSION_PREFIX 파라미터를 별도로 설정하면 현지화된 세션 관리 지원이 활성화될 수 있습니다. 현지화 세션을 시작한 후 모든 할당, 값 획득, 삭제 및 판단 작업은 자동으로 현지화 세션을 지원합니다.

현지화된 세션 지원이 켜진 후 생성된 세션 데이터 형식은 원래 $_SESSION['name']에서 $_SESSION['prefix']['name']으로 변경됩니다.

접두사는 다음과 같다고 가정합니다. ​​think 로 설정하면


할당 작업:

session('name','value'); //设置session
로그인 후 복사
로그인 후 복사

과 동일합니다.
$_SESSION['think']['name'] = 'value';
로그인 후 복사

값 연산:

$value = session('name');
로그인 후 복사
로그인 후 복사

은 다음을 사용하는 것과 같습니다.

$value = $_SESSION['think']['name'];
로그인 후 복사

삭제 작업:

session('name',null);
로그인 후 복사

다음과 동일:

unset($_SESSION['think']['name']);
로그인 후 복사

작업 지우기:

session(null);
로그인 후 복사

다음과 동일:

unset($_SESSION['think']);
로그인 후 복사

판정 연산:

session('?name');
로그인 후 복사
로그인 후 복사

동등:

isset($_SESSION['think']['name']);
로그인 후 복사

이 글이 ThinkPHP 프레임워크를 기반으로 하는 모든 사람의 PHP 프로그래밍에 도움이 되기를 바랍니다.

thinkphp3.x의 세션 메소드 사용 분석과 관련된 더 많은 글은 PHP 중국어 홈페이지를 주목해주세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 추천
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿