thinkphp를 사용해본 사용자라면 thinkphp 모델이 자동 확인, 자동 완성 등 많은 보조 기능을 완료할 수 있다는 것을 알고 있을 것입니다. 오늘 개발 중에 세션 값을 얻어야 하는 필요성에 직면했습니다
자동 완성 중에 자동으로 값을 할당합니다. 자세한 내용은 코드를 참조하세요.
class ArticlelModel extends Model { protected $_auto = array ( array('addtime','time',1,'function'), array('username','getName',1,'callback') ); //这个函数获取session里的name值 protected function getName(){ return $_SESSION["name"]; } }
여기서 마지막 매개 변수 기능의 차이점에 주의해야 합니다. 및 콜백
함수: 함수를 사용하면 자동으로 Common/common.php로 이동합니다. 해당 함수를 찾으려면
콜백: 현재 모델에 정의된 콜백 메서드를 사용합니다
세션 기능은 다양한 매개변수로 호출되는 다양한 작동 기능으로 다음 기능 중 일부를 포함하여 다양한 기능 작동을 완료할 수 있습니다. [-more-]
세션 초기화 설정
세션 메소드의 name 매개변수가 배열로 전달되는 경우 이는 세션 초기화 설정을 의미합니다. 예:
session(array('name'=> 'session_id',' 만료'=>3600));
지원되는 수신 세션 매개변수는 다음과 같습니다.
세션 초기화 설정 방법은 다음과 같습니다. App 클래스에서 수동으로 호출됩니다. 일반적으로 프로젝트에서는 SESSION_OPTIONS 매개변수만 구성하면 됩니다. 지원되는 인덱스 이름은 이전과 동일합니다. 세션 초기화 매개변수.
기본적으로 시스템은 초기화 후 자동으로 세션을 시작합니다. 시스템이 자동으로 세션을 시작하지 않도록 하려면 SESSION_AUTO_START를 false로 설정할 수 있습니다. 예:
'SESSION_AUTO_START' =>false
자동 시작을 끈 후 프로젝트의 공개 파일에서 세션을 시작하거나 컨트롤러에서 session_start 또는 session('[start]')을 수동으로 호출하여 시작할 수 있습니다.
세션 할당
세션 할당은 상대적으로 간단합니다. 직접 사용하세요.
session('name','value'); //设置session
은 다음과 같습니다.
$_SESSION['name'] = 'value';
세션 값
Session取值使用: $value = session('name'); 相当于使用: $value = $_SESSION['name'];
세션 삭제
session('name',null); // 删除name 相当于: unset($_SESSION['name']); 要删除所有的session,可以使用: session(null); // 清空当前的session 相当于: $_SESSION = array();
세션 판단
세션 값이 설정되었는지 판단하려면
session( '?name' );
name이라는 세션 값이 설정되었는지 확인하는 데 사용됩니다.
동등함:
isset($_SESSION['name']);
세션 관리
세션 메서드는 몇 가지 간단한 세션 관리 작업을 지원합니다. 사용법은 다음과 같습니다.
session('[작업 이름]');
지원되는 작업 이름은 다음과 같습니다.
사용 예는 다음과 같습니다.
session('[pause]'); // 세션 쓰기 일시 중지
session('[start]') // 세션 시작
session('[destroy ]'); // 세션 삭제
session('[regenerate]'); // 세션 ID 재생성
현지화 지원
세션 설정 초기화 시 prefix 파라미터를 전달하거나 SESSION_PREFIX 파라미터를 별도로 설정하면 현지화된 세션 관리 지원을 활성화할 수 있습니다. 현지화 세션을 시작한 후 모든 할당, 값 획득, 삭제 및 판단 작업은 자동으로 현지화 세션을 지원합니다.
현지화된 세션 지원이 활성화된 후 생성된 세션 데이터 형식은 원본
$_SESSION['name']에서 $_SESSION['prefix']['name']
session('name','value') //세션 설정
$_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']);