本文實(shí)例講述了CakePHP框架Session設(shè)置方法。分享給大家供大家參考,具體如下:
CakePHP Session 存儲選項(xiàng)
CakePHP提供給用戶了3種Session數(shù)據(jù)保存方式:
1. CakePHP安裝目下的臨時文件;
2. 采用PHP的默認(rèn)機(jī)制;
3. 或者序列化到數(shù)據(jù)庫中.
對應(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ù)庫中存儲,需要在數(shù)據(jù)庫中建立一張表,在/app/config/sql/sessions.sql有創(chuàng)建數(shù)據(jù)庫的sql腳本.
無論選擇哪種Session存儲方式,CakePHP的組件方法操作基本一致:
CakePHP Session Component用來與Session進(jìn)行交互:包括基本的Session讀寫,通過Session來提示錯誤、發(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)生的錯誤,常用于調(diào)試。
flash(string $key='flash');
返回最后一條Session中用 setFlash() 設(shè)置的消息。如果 $key 已設(shè)置,將返回最近存儲于其中的消息.
read(string $name);
返回 $name 變量值。
renew
通過創(chuàng)建新的seesion ID,刪除原有的ID,將原有Session中信息更新到新的Session中。
setFlash(string $flashMessage, string $layout='default', array $params, string $key='flash');
將$flashMessage 中的信息寫入Session(供之后的flash()方法來獲取)。
如果 $leyout 設(shè)置為 “default”,該消息被存儲為 '<div class="message">'.$flashMessage.'</div>'。如果$layout 設(shè)置為 '',該消息將按原樣保存。如果 $layout 為其他值,該消息以 $layout 所指定的格式保存在 Cake view里。
$params 參數(shù)會在未來版本中賦予功能。
$key 允許在鍵下存儲提示消息,flash() 是基于鍵來讀取消息的。
valid當(dāng)Session有效時返回true,最好在read()操作前用它來確定你要訪問的會話是否確實(shí)有效.
write(string $name, mixed $value);
將變量 $name,$value寫入會話.
更多關(guān)于php框架相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《php優(yōu)秀開發(fā)框架總結(jié)》、《codeigniter入門教程》、《ThinkPHP入門教程》、《Zend FrameWork框架入門教程》、《php面向?qū)ο蟪绦蛟O(shè)計(jì)入門教程》、《php+mysql數(shù)據(jù)庫操作入門教程》及《php常見數(shù)據(jù)庫操作技巧匯總》
希望本文所述對大家PHP程序設(shè)計(jì)有所幫助。