一.Session
1. 在使用Session之前,需要開啟初始化,在中間件文件middleware.php;
// Session 初始化
\think\middleware\SessionInit::class
2. TP6.0不支持原生$_SESSION的獲取方式,也不支持session_開頭的函數;
3. 直接使用::set()和::get()方法去設置Session的存取;
Session::set('user', 'Mr.Lee');//設置session,參數1名稱,參數2值
Session::get('user');//讀取session,參數為名稱
Session::all()//讀取session 所有內容
Request::session('user');//讀取session,參數為名稱
Request::session();//讀取session 所有內容
========================================
?
然后:
Request::session('user');
?//讀取session,參數為名稱
Request::session();
?//讀取session 所有內容
session('里面有值就獲取一個')
session('沒有值就獲取所有')
4. ::get()第二參數,可以設置當不存在值的時候,設置一個默認值;
Session::get('name')//name 不存在時返回nullSession::get('name', '')//name 不存在時返回空
get("參數一獲取值","參數二不存在時返回一個默認值")
5. ::has()判斷是否賦值,::delete()刪除,::pull()取值后刪除;
Session::has('user');Session::delete('user');Session::pull('user');//不存在則返回null
::has存在就返回true
6. ::clear()清空整個session;
Session::clear('');
7. ::flash()方法,設置閃存數據,只請求一次有效的情況,再請求會失效;
Session::flash('user','Mr.Lee');
二. 二維和助手函數
1. 二維操作,就是對象和數組的調用方式,如下:
// 賦值(當前作用域)
Session::set('obj.user','Mr.Lee');// 判斷(當前作用域)是否賦值
Session::has('obj.user');
// 取值(當前作用域)
Session::get('obj.user');// 刪除(當前作用域)
Session::delete('obj.user');
2. 助手函數,更加方便操作,如下:
//賦值
session('user', 'Mr.Wang');//has 判斷
session('?user');//delete 刪除
session('user', null);//清理全部
session(null);//輸出
echo session('user');
一.Cookie
1. Cookie是客戶端存儲,默認情況下是開啟初始化的,在config/cookie.php;
2. ::set()方法,創建一個最基本的cookie,可以設置前綴、過期時間、數組等;
Cookie::set('user', 'Mr.Lee');Cookie::set('user', 'Mr.Lee', 3600);//臨時保存,關閉瀏覽器消失
//3600 秒
Request::cookie('user');Request::cookie();
=========================
使用cookie設置3600秒
=========================
get是沒有設置cookie的
=========================
如果要取值
3. ::forever()方法,永久保存Cookie(就是十年的意思);
Cookie::forever('user', 'Mr.Lee');
4. ::has()判斷是否存在,:get()取值,::delete()刪除cookie;
Cookie::has('user');Cookie::get('user');Cookie::delete('user');
二.助手函數
1. 助手函數,更加方便操作,如下:
echo cookie('user');//輸出
cookie('user', 'Mr.Lee', 3600); //設置
cookie('user', null);//刪除