系統提供了(le)Session管理(lǐ)和(hé)操作(zuò)的(de)γ£§×完善支持,全部操作(zuò)可(kě)以通(tōng)過一(yī)個≈&(gè)內(nèi)置的(de)session函數(shù)完成✘§,該函數(shù)可(kě)以完成Session的(de)設置、獲取、删除™ ®★和(hé)管理(lǐ)操作(zuò)。
session初始化(huà)設置
如(rú)果session方法的(de)第一(≠£yī)個(gè)參數(shù)傳入數(shù)組則表示進行£₽♣(xíng)session初始化(huà)設置,例如(rú):
session(array('name'=>'session_id','expire'=>3600));
支持傳入的(de)session參數(shù)包括:
| 參數(shù)名 | 說(shuō)明(míng) |
|---|---|
| id | session_id值 |
| name | session_name 值 |
| path | session_save_path 值 |
| prefix | session 本地(dì)化(huà)空(↕ kōng)間(jiān)前綴 |
| expire | session.gc_maxlifetime 設置值 |
| domain | session.cookie_domain 設置↓σ∞≤值 |
| use_cookies | session.use_cookies 設置值 |
| use_trans_sid | session.use_trans_sid 設置值 |
| type | session處理(lǐ)類型,支持驅動擴展 |
Session初始化(huà)設置方法無需手動調用(yò£✘'ng),在Think\App類的(de)初始化(hφ§ uà)工(gōng)作(zuò)結束後會≠ (huì)自(zì)動調用(yòng),通(tōng)常項目隻♥•♥需要(yào)配置SESSION_OPTIONS參數(shù)即可(kě),SESSION_OPTIONS參數(shù)的(de)設置是(shì)γ↓δα一(yī)個(gè)數(shù)組,支持的(de)索引&≤¥®名和(hé)前面的(de)session初始化(huà)參數(shù¥")相(xiàng)同。
默認情況下(xià),初始化(huà)之後系"≠統會(huì)自(zì)動啓動session,如(rú)果不(b"≤ù)希望系統自(zì)動啓動session的(de)話(δ→≤¶huà),可(kě)以設置SESSION_AUTO_START為(wèi)false,例如(rú):
'SESSION_AUTO_START' =>false
關閉自(zì)動啓動後可(kě)以項目的(de)公共文(wén)件(jiànλ±)或者在控制(zhì)器(qì)中通(t§§σ®ōng)過手動調用(yòng)session_start或者session('[start]')啓動session。
session賦值
Session賦值比較簡單,直接使用(yòng):
session('name','value'); //設置session
session取值
Session取值使用(yòng):
$value = session('name');// 獲取所有(yǒu)的(de)session 3.2.2版本新增 ♠$value = session();
session删除
删除某個(gè)session的(de)值使用(yòng):
session('name',null); // 删除name
要(yào)删除所有(yǒu)的(de)ses♠↑↔sion,可(kě)以使用(yòng):
session(null); // 清空(kōng)當前的(de)session
session判斷
要(yào)判斷一(yī)個(gè)session值是(shì)否₽£已經設置,可(kě)以使用(yòng)
// 判斷名稱為(wèi)name的(de)sessio→₹δn值是(shì)否已經設置session('?name');
session管理(lǐ)
session方法支持一(yī)些(xiē)簡單的(de™∏')session管理(lǐ)操作(zuò),用(yòng)法如(rú)下(xi®à):
session('[操作(zuò)名]');
支持的(de)操作(zuò)名包括:
| 操作(zuò)名 | 含義 |
|---|---|
| start | 啓動session |
| pause | 暫停session寫入 |
| destroy | 銷毀session |
| regenerate | 重新生(shēng)成session id |
使用(yòng)示例如(rú)下(xià):
session('[pause]'); // 暫停session寫入session('[start]'); // 啓動sessionsession('[destroy]'); // 銷毀sessionsession('[regenerate]'); // 重新生(shēng)成session id
本地(dì)化(huà)支持
如(rú)果在初始化(huà)session設置的(de)時(shí)候ααγ傳入prefix參數(shù)或者單獨設置了(le)SESSION_PREFIX參數(shù)的(de)話(huà),就(jiù)可(kě)以啓用(yò§↑ng)本地(dì)化(huà)session管理(lǐ)支持。啓動® ✔本地(dì)化(huà)session後,所有(yǒu)的(de)£±賦值、取值、删除以及判斷操作(zuò)都(dōu)會γ★≠(huì)自(zì)動支持本地(dì)化(huà)session€®。
本地(dì)化(huà)session支←≈持開(kāi)啓後,生(shēng)成的(de)±€session數(shù)據格式由原來(l↑♣"ái)的(de) $_SESSION['name'] 變成 $_SESSION['前綴']['name']。
session handler支持
初始化(huà)session設置的(de)時<€₽(shí)候如(rú)果傳入了(le)type參數(shù)或者設置了(le)SESSION_TYPE參數(shù)的(de)話(huà),則會(huì)自(zì)動引入對₽•(duì)應的(de)Session處理(lǐ)驅動,驅動目錄位于L™≠'ibrary/Think/Session/¶±£§Driver目錄下(xià)面(詳見(jiàn)擴展部分(fēn))。




