首頁 > php教程 > PHP开发 > 主體

thinkphp3.x中session方法的用法分析

高洛峰
發布: 2016-12-22 10:19:27
原創
1205 人瀏覽過

本文實例講述了thinkphp3.x中session方法的用法。分享給大家供大家參考,具體如下:

一、Session方法用於Session 設定、取得、刪除和管理操作。 Session 用於Session 設定、取得、刪除和管理作業

用法 session($name, $value='')

參數name(必須):如果傳入陣列則表示進行session初始化,如果傳入null表示清空當前session,如果是字串則表示session賦值、取得或操作。

Value(可選):要設定的session值,如果傳入null表示刪除session,預設為空字串

回傳值根據特定的用法傳回不同的值

session函數是一個多元化運算函數,傳入不同的參數呼叫可以完成不同的功能操作,包括以下一些功能。

二、session初始化設定

如果session方法的name參數傳入數組則表示進行session初始化設置,例如:

session(array('name'=>'session_id','expire'=>3600));
登入後複製

   

_session參數包括:傳入的session參數包含:name %值 

path session_save_path 值 

prefix session 本地化空間前綴 
expire session.gc_maxlifetime 設定值 
domain session.cookie_domain 設定值 
cache_limiter session_cache_limiter設定值 
cache_expire session_cache_expire設定值
type session hander類型,可以使用hander驅動擴充

Session初始化設定方法無需手動調用,在App類別的初始化工作結束後會自動調用,通常專案只需要配置SESSION_OPTIONS參數即可,SESSION_OPTIONS參數的設定是一個陣列,支援的索引名和前面的session初始化參數相同。

預設情況下,初始化之後系統會自動啟動session,如果不希望系統自動啟動session的話,可以設定SESSION_AUTO_START為false,例如:

'SESSION_AUTO_START' =>false
登入後複製

   

關閉或在公共檔案的關閉器中透過手動呼叫session_start或session('[start]') 啟動session。

三、session賦值

Session賦值比較簡單,直接使用:

session('name','value'); //设置session
登入後複製
登入後複製

   

$_SESSION['name'] = 'value';
登入後複製

   

$value = session('name');
登入後複製
登入後複製

   

相當於使用:

$value = $_SESSION['name'];
登入後複製

   

五、session刪除

session('name',null); // 删除name
登入後複製

   

使用:

unset($_SESSION['name']);
登入後複製

   

相當於:

session(null); // 清空当前的session
登入後複製

   

六、session判斷

要判斷一個session值是否已經設定,可以使用

$_SESSION = array();
登入後複製

 :

session('?name');
登入後複製

   

七、session管理

session方法支援一些簡單的session管理操作,用法如下:

isset($_SESSION['name']);
登入後複製

 session寫入 

destroy 銷毀session 

regenerate 重新產生session id

使用範例如下:

session('[操作名]');
登入後複製

   

八.就可以啟用本地化session管理支援。啟動本地化session後,所有的賦值、取值、刪除、判斷操作都會自動支援本地化session。

本地化session支援開啟後,產生的session資料格式由原來的$_SESSION['name'] 變成$_SESSION['前綴']['name']

假設前綴設為think,則

賦值操作:

session('[pause]'); // 暂停session写入
session('[start]'); // 启动session
session('[destroy]'); // 销毁session
session('[regenerate]'); // 重新生成session id
登入後複製

   

相當於:

session('name','value'); //设置session
登入後複製
登入後複製

   




刪除操作:

$_SESSION['think']['name'] = 'value';
登入後複製

   

相當於:

$value = session('name');
登入後複製
登入後複製

   


清空作業:

$value = $_SESSION['think']['name'];
登入後複製

   

session('name',null);
登入後複製

相當於:

unset($_SESSION['think']['name']);
登入後複製
   

希望本文所述對大家基於ThinkPHP框架的PHP程式設計有所幫助。

更多thinkphp3.x中session方法的用法分析相關文章請關注PHP中文網!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門推薦
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板