Laravel 会话

Laravel 会话

会话用于存储用户在请求之间的信息。Laravel提供了各种驱动程序,如 文件,cookie,apc,数组,Memcached,Redis数据库 来处理会话数据,默认情况下使用文件驱动程序因为它很轻量级。会话可以在存储在 config/session.php 文件中进行配置。

获取会话数据

要访问会话数据,我们需要一个会话实例,可以通过HTTP请求来访问。在获取实例之后,我们可以使用 get() 方法,并提供一个参数 “key” 来获取会话数据。

$value = $request->session()->get('key');

您可以使用 all() 方法获取所有会话数据,而不是使用 get() 方法。

存储会话数据

可以使用 put() 方法将数据存储在会话中。put()方法接受两个参数,即 “key”“value”

$request->session()->put('key', 'value');

删除会话数据

forget()方法用于从会话中删除一个项目。该方法将”key”作为参数。

$request->session()->forget('key');

使用 flush() 方法而不是 forget() 方法来删除所有会话数据。使用 pull() 方法从会话中检索数据并在之后删除它。pull()方法还将以 key 作为参数。forget()方法和pull()方法之间的区别是,forget()方法不会返回会话的值,而pull()方法会返回它并从会话中删除该值。

示例

步骤1 - 通过执行以下命令创建一个名为 SessionController 的控制器。

php artisan make:controller SessionController --plain

步骤2 - 成功执行后,您将收到以下输出 –

Laravel 会话

步骤3 - 在以下位置的文件中复制以下代码:

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(Requestrequest) {
      request->session()->put('my_name','Virat Gandhi');
      echo "Data has been added to session";
   }
   public function deleteSessionData(Requestrequest) {
      $request->session()->forget('my_name');
      echo "Data has been removed from session.";
   }
}

步骤4 - 再 app/Http/routes.php 文件中添加以下行。

app/Http/routes.php

Route::get('session/get','SessionController@accessSessionData');
Route::get('session/set','SessionController@storeSessionData');
Route::get('session/remove','SessionController@deleteSessionData');

步骤5 − 访问以下URL来 在会话中设置数据

http://localhost:8000/session/set

步骤6 - 输出结果将如下图所示。

Laravel 会话

步骤7 - 访问以下网址以 从会话中获取数据

http://localhost:8000/session/get

步骤8 - 输出将显示如下图所示。

Laravel 会话

步骤9 - 访问以下URL以 移除会话数据

http://localhost:8000/session/remove

步骤10 − 您将看到如下图像所示的消息。

Laravel 会话

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程