您好,登錄后才能下訂單哦!
在Web應用中,session的重要性毋庸置疑。Yii 2中,使用Session類來管理session。
當用戶登錄以后,Yii 2會調用到web\User->renewAuthStatus(),在這里調用到session->get()函數(shù)時,在session->get()函數(shù)內部調用了Session->open(),將session數(shù)據(jù)加載進來。
Yii 2默認使用php.ini中的配置參數(shù):
session.save_handler = files
;session.save_path = "/tmp"
也就是說默認將session信息保存到文件,如果php.ini中沒有設置session.save_path的話,默認存儲路徑就是“C:\Users\當前用戶\AppData\Local\Temp”。
有些系統(tǒng)為了更好的管理session數(shù)據(jù),會將其保存到數(shù)據(jù)庫里,則可以通過繼承Session類,并進行如下處理:
1、在子類的getUseCustomStorage()返回true,表示使用自定義存儲方式;
2、在子類實現(xiàn)如下接口:openSession(),closeSession(), readSession(), writeSession(), destroySession() and gcSession();
這些接口的含義很清楚,一看函數(shù)名就知道了。
默認$app->session所指向的Session類實例,是在web\Application.php中的coreComponents()函數(shù)配置的:
public function coreComponents() |
如果想用自己的Session類,則可在main.php中的components節(jié)點下,參考上述代碼配置自己的session類。
免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經查實,將立刻刪除涉嫌侵權內容。