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