자동 할당 기능에 대한 자세한 내용은 코드를 참조하세요.
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로 이동하여 해당 함수를 찾습니다.
콜백: 현재 모델에 정의된 콜백 메소드를 사용합니다
세션 기능은 다양한 매개변수를 전달하여 다음 기능을 포함하여 다양한 기능 작업을 완료할 수 있는 다양한 작업 기능입니다. [-더보기-]
세션 초기화 설정
세션 메소드의 name 매개변수가 배열로 전달되면 이는 세션 초기화 설정을 의미합니다. 예:
session(array('name'=>'session_id','expire'=>3600));
지원되는 세션 매개변수는 다음과 같습니다.
매개변수 이름 | 설명 |
---|---|
아이디 | session_id 값 |
이름 | session_name 값 |
경로 | session_save_path 값 |
접두사 | 세션 현지화 공간 접두사 |
만료 | 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 | session hander类型,可以使用hander驱动扩展 |
Session初始化设置方法 无需手动调用,在App类的初始化工作结束后会自动调用,通常项目只需要配置SESSION_OPTIONS参数即可,SESSION_OPTIONS参数的设置是一个数组,支持的索引名和前面的session初始化参数相同。
默认情况下,初始化之后系统会自动启动session,如果不希望系统自动启动session的话,可以设置SESSION_AUTO_START为false,例如:
'SESSION_AUTO_START' =>false
关闭自动启动后可以项目的公共文件或者在控制器中通过手动调用session_start或者session('[start]') 启动session。
session赋值
Session赋值比较简单,直接使用:
session('name','value'); //设置session
相当于:
$_SESSION['name'] = 'value';
session取值
Session取值使用: $value = session('name'); 相当于使用: $value = $_SESSION['name'];
session删除
session('name',null); // 删除name 相当于: unset($_SESSION['name']); 要删除所有的session,可以使用: session(null); // 清空当前的session 相当于: $_SESSION = array();
session判断
要判断一个session值是否已经设置,可以使用
session('?name');
用于判断名称为name的session值是否已经设置
相当于:
isset($_SESSION['name']);
session管理
session方法支持一些简单的session管理操作,用法如下:
session('[操作名]');
支持的操作名包括:
操作名 | 含义 |
---|---|
start | 启动session |
pause | 暂停session写入 |
destroy | 销毁session |
regenerate | 重新生成session id |
현지화 지원
세션 설정 초기화 시 prefix 매개변수를 전달하거나 SESSION_PREFIX 매개변수를 별도로 설정하면 현지화된 세션 관리 지원을 활성화할 수 있습니다. 현지화 세션을 시작한 후 모든 할당, 값 획득, 삭제 및 판단 작업은 자동으로 현지화 세션을 지원합니다.
현지화된 세션 지원을 켜면 생성된 세션 데이터 형식이 원본에서 변경됩니다.
$_SESSION['이름']은 $_SESSION['접두사']['이름']이 됩니다.
접두사가 think로 설정되어 있다고 가정하면 할당 연산은 다음과 같습니다.
session('name','value'); //세션 설정
다음과 동일:
$_SESSION['think']['name'] = '값';
값 연산:
$value = 세션('이름');
은 다음을 사용하는 것과 같습니다.
$value = $_SESSION['생각']['이름'];
삭제 작업:
세션('이름',null);
다음과 동일:
unset($_SESSION['생각']['이름']);
클리어 작업:
세션(널)
다음과 동일:
unset($_SESSION['think']);
심판작전:
세션('?이름');
다음과 동일:
isset($_SESSION['생각']['이름']);