yii 之 session

來源:互聯網
上載者:User

標籤:yii--session

在 Yii架構中使用session 的筆記:

首先,在Yii架構中,你不需要像標準PHP代碼那樣使用session_start(),
在Yii架構中,autoStart 屬性預設被設定為true,所以,
雖然沒有使用session_start(),你仍然可以使用$_SESSION全域變數,但最好使用
Yii架構封裝的Yii::app->session:

設定session變數:
Yii::app()->session[‘var‘]=‘value‘;
使用: echo Yii::app()->session[‘var‘];
移除: unset(Yii::app()->session[‘var‘]);

更為複雜一點的使用時如何配置你的session
配置項可設在 protected/config/main.php的components中:

‘session‘=>array(
  ‘autoStart‘=>false(/true),
  ‘sessionName‘=>‘Site Access‘,
  ‘cookieMode‘=>‘only‘,
  ‘savePath‘=‘/path/to/new/directory‘,
),

將session保持在資料庫的設定:
‘session‘ => array (
   ‘class‘=> ‘system.web.CDbHttpSession‘,
   ‘connectionID‘ => ‘db‘,
   ‘sessionTableName‘ =>‘actual_table_name‘,
),

好,還有什麼呢?對了,為了調試,有時需要知道目前使用者的session ID,
該值就在 Yii::app()->session->sessionID 中。

最後,當使用者退出登入(logout),你需要消除痕迹,可使用:
Yii::app()->session->clear() 移去所有session變數,然後,調用
Yii::app()->session->destroy() 移去儲存在伺服器端的資料。

本文出自 “web技術學習” 部落格,請務必保留此出處http://sunis.blog.51cto.com/9260020/1541575

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.