本文實(shí)例講述了CakePHP框架Session設(shè)置方法。分享給大家供大家參考,具體如下:
CakePHP Session 存儲(chǔ)選項(xiàng)
CakePHP提供給用戶(hù)了3種Session數(shù)據(jù)保存方式:
1. CakePHP安裝目下的臨時(shí)文件;
2. 采用PHP的默認(rèn)機(jī)制;
3. 或者序列化到數(shù)據(jù)庫(kù)中.
對(duì)應(yīng)的設(shè)置在core.php中分別為:
define('CAKE_SESSION_SAVE','php');
# 設(shè)置為'cake',保存session到 /cakedistro/tmp目錄
# 設(shè)置為'php',采用PHP的缺省路徑
# 設(shè)置為'database',
默認(rèn)采用PHP的機(jī)制.
如果選擇在數(shù)據(jù)庫(kù)中存儲(chǔ),需要在數(shù)據(jù)庫(kù)中建立一張表,在/app/config/sql/sessions.sql有創(chuàng)建數(shù)據(jù)庫(kù)的sql腳本.
無(wú)論選擇哪種Session存儲(chǔ)方式,CakePHP的組件方法操作基本一致:
CakePHP Session Component用來(lái)與Session進(jìn)行交互:包括基本的Session讀寫(xiě),通過(guò)Session來(lái)提示錯(cuò)誤、發(fā)出提示消息等等.
Session Component在所有 Cake controller 中默認(rèn)可用.
check(string $name);
檢查Session中是否已有$name為鍵值的數(shù)據(jù)項(xiàng).
del(string $name);
delete(string $name);
刪除$name 指定的 Session 變量。
error
返回最近由 Cake Session Component 產(chǎn)生的錯(cuò)誤,常用于調(diào)試。
flash(string $key='flash');
返回最后一條Session中用 setFlash() 設(shè)置的消息。如果 $key 已設(shè)置,將返回最近存儲(chǔ)于其中的消息.
read(string $name);
返回 $name 變量值。
renew
通過(guò)創(chuàng)建新的seesion ID,刪除原有的ID,將原有Session中信息更新到新的Session中。
setFlash(string $flashMessage, string $layout='default', array $params, string $key='flash');
將$flashMessage 中的信息寫(xiě)入Session(供之后的flash()方法來(lái)獲?。?。
如果 $leyout 設(shè)置為 “default”,該消息被存儲(chǔ)為 '
'.$flashMessage.'
'。如果$layout 設(shè)置為 '',該消息將按原樣保存。如果 $layout 為其他值,該消息以 $layout 所指定的格式保存在 Cake view里。
$params 參數(shù)會(huì)在未來(lái)版本中賦予功能。
$key 允許在鍵下存儲(chǔ)提示消息,flash() 是基于鍵來(lái)讀取消息的。
valid當(dāng)Session有效時(shí)返回true,最好在read()操作前用它來(lái)確定你要訪(fǎng)問(wèn)的會(huì)話(huà)是否確實(shí)有效.
write(string $name, mixed $value);
將變量 $name,$value寫(xiě)入會(huì)話(huà).
新聞熱點(diǎn)
疑難解答