CakePHP架構Session設定方法

來源:互聯網
上載者:User
本文執行個體講述了CakePHP架構Session設定方法。分享給大家供大家參考,具體如下:

CakePHP Session 儲存選項

CakePHP提供給使用者了3種Session資料儲存方式:

1. CakePHP安裝目下的臨時檔案;
2. 採用PHP的預設機制;
3. 或者序列化到資料庫中.

對應的設定在core.php中分別為:

define('CAKE_SESSION_SAVE', 'php');# 設定為 'cake',儲存session到 /cakedistro/tmp目錄# 設定為 'php',採用PHP的預設路徑# 設定為 'database',

預設採用PHP的機制.

如果選擇在資料庫中儲存,需要在資料庫中建立一張表,在/app/config/sql/sessions.sql有建立資料庫的sql指令碼.

無論選擇哪種Session儲存方式,CakePHP的組件方法操作基本一致:

CakePHP Session Component用來與Session進行互動:包括基本的Session讀寫,通過Session來提示錯誤、發出提示訊息等等.

Session Component在所有 Cake controller 中預設可用.

check(string $name);

檢查Session中是否已有$name為索引值的資料項目.

del(string $name);
delete(string $name);

刪除$name 指定的 Session 變數。

error

返回最近由 Cake Session Component 產生的錯誤,常用於調試。

flash(string $key='flash');

返回最後一條Session中用 setFlash() 設定的訊息。如果 $key 已設定,將返回最近儲存於其中的訊息.

read(string $name);

返回 $name 變數值。

renew

通過建立新的seesion ID,刪除原有的ID,將原有Session中資訊更新到新的Session中。

setFlash(string $flashMessage, string $layout='default', array $params, string $key='flash');

將$flashMessage 中的資訊寫入Session(供之後的flash()方法來擷取)。

如果 $leyout 設定為 “default”,該訊息被儲存為 '<p class="message">'.$flashMessage.'</p>'。如果$layout 設定為 '',該訊息將按原樣儲存。如果 $layout 為其他值,該訊息以 $layout 所指定的格式儲存在 Cake view裡。

$params 參數會在未來版本中賦予功能。

$key 允許在鍵下儲存提示訊息,flash() 是基於鍵來讀取訊息的。

valid當Session有效時返回true,最好在read()操作前用它來確定你要訪問的會話是否確實有效.

write(string $name, mixed $value);

將變數 $name,$value寫入會話.

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.