【小(xiǎo)編推薦】ThinkPHP3.2—σ★€π—SESSION支持

2014-06-26   | &nbφ♠sp; 發布者:梁國(guó)芳  &nb✘επsp;|   查看(k≈××γàn):3320次

Thinkphp

系統提供了(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ú):

  1. 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ú):

  1. '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):

  1. session('name','value'); //設置session

session取值

Session取值使用(yòng):

  1. $value = session('name');
  2. // 獲取所有(yǒu)的(de)session 3.2.2版本新增 ♠‍
  3. $value = session();

session删除

删除某個(gè)session的(de)值使用(yòng):

  1. session('name',null); // 删除name

要(yào)删除所有(yǒu)的(de)ses♠↑​↔sion,可(kě)以使用(yòng):

  1. session(null); // 清空(kōng)當前的(de)session

session判斷

要(yào)判斷一(yī)個(gè)session值是(shì)否₽£已經設置,可(kě)以使用(yòng)

  1. // 判斷名稱為(wèi)name的(de)sessio→₹δn值是(shì)否已經設置
  2. 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à):

  1. session('[pause]'); // 暫停session寫入
  2. session('[start]'); // 啓動session
  3. session('[destroy]'); // 銷毀session
  4. session('[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))。