訪問會(huì)話數(shù)據(jù),我們需要通過HTTP請求來訪問會(huì)話的一個(gè)實(shí)例。獲得實(shí)例后,我們就可以使用get()方法,這需要一個(gè)參數(shù)-“鍵”,以獲取會(huì)話數(shù)據(jù)。
$value = $request->session()->get('key');
可以用put()方法被數(shù)據(jù)保存在會(huì)話中。put()方法有兩個(gè)參數(shù),“key”和“value”。
$request->session()->put('key', 'value');
forget() 方法用于刪除會(huì)話中的數(shù)據(jù)項(xiàng)。這個(gè)方法將“key”作為參數(shù)。
$request->session()->forget('key');
可使用flush()方法來刪除所有的會(huì)話數(shù)據(jù)。 使用 pull() 方法來檢索會(huì)話數(shù)據(jù),然后刪除它。pull()方法也將采用 “key” 作為參數(shù)。forget() 和 pull() 方法之間的差異是forget() 方法將不會(huì)返回會(huì)話的值,而 pull() 方法將返回并刪除會(huì)話值。
php artisan make:controller SessionController
第2步 - 成功執(zhí)行后,您會(huì)收到以下輸出 - app/Http/Controllers/SessionController.php.
app/Http/Controllers/SessionController.php
<?php namespace App\Http\Controllers; use Illuminate\Http\Request; use App\Http\Requests; use App\Http\Controllers\Controller; class SessionController extends Controller { public function accessSessionData(Request $request){ if($request->session()->has('my_name')) echo $request->session()->get('my_name'); else echo 'No data in the session'; } public function storeSessionData(Request $request){ $request->session()->put('my_name','Yiibai Yiibai'); echo "Data has been added to session"; } public function deleteSessionData(Request $request){ $request->session()->forget('my_name'); echo "Data has been removed from session."; } }
app/Http/routes.php
Route::get('session/get','SessionController@accessSessionData'); Route::get('session/set','SessionController@storeSessionData'); Route::get('session/remove','SessionController@deleteSessionData');
http://localhost:8000/session/set
http://localhost:8000/session/get
第8步 - 輸出結(jié)果如下面的圖片所示。
http://localhost:8000/session/remove
第10步 - 輸出結(jié)果如下面的圖片所示。