> php教程 > PHP开发 > thinkphp가 모델에서 세션 할당을 자동으로 완료하도록 하는 방법에 대한 간단한 튜토리얼

thinkphp가 모델에서 세션 할당을 자동으로 완료하도록 하는 방법에 대한 간단한 튜토리얼

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

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로 이동합니다. 해당 함수를 찾으려면
콜백: 현재 모델에 정의된 콜백 메서드를 사용합니다

thinkphp가 모델에서 세션 할당을 자동으로 완료하도록 하는 방법에 대한 간단한 튜토리얼

세션 기능은 다양한 매개변수로 호출되는 다양한 작동 기능으로 다음 기능 중 일부를 포함하여 다양한 기능 작동을 완료할 수 있습니다. [-more-]
세션 초기화 설정
세션 메소드의 name 매개변수가 배열로 전달되는 경우 이는 세션 초기화 설정을 의미합니다. 예:
session(array('name'=> 'session_id',' 만료'=>3600));

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

thinkphp가 모델에서 세션 할당을 자동으로 완료하도록 하는 방법에 대한 간단한 튜토리얼

세션 초기화 설정 방법은 다음과 같습니다. 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('[작업 이름]');

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

thinkphp가 모델에서 세션 할당을 자동으로 완료하도록 하는 방법에 대한 간단한 튜토리얼

사용 예는 다음과 같습니다.
session('[pause]'); // 세션 쓰기 일시 중지
session('[start]') // 세션 시작
session('[destroy ]'); // 세션 삭제
session('[regenerate]'); // 세션 ID 재생성


현지화 지원

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

현지화된 세션 지원이 활성화된 후 생성된 세션 데이터 형식은 원본
$_SESSION['name']에서 $_SESSION['prefix']['name']

접두사가 think로 설정되어 있다고 가정하면 할당 작업은 다음과 같습니다.

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']);

thinkphp가 모델에서 세션 할당을 자동으로 완료하도록 하는 방법에 대한 더 많은 관련 기사를 보려면 PHP 중국어 웹사이트에 주목하세요!

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