Laravel session

laravel session

会话用于在请求中存储关于用户的信息。laravel提供各种驱动程序,如 文件,cookie,apc,数组,memcached,redis 和数据库 来处理会话数据。默认情况下使用文件驱动程序,因为它是轻量级的。会话可以在 config / session.php 文件中配置 。

 

访问会话数据

要访问会话数据,我们需要一个可以通过http请求访问的会话实例。得到实例后,我们可以使用 get() 方法,该方法需要一个参数 key 来获取会话数据。

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

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

 

存储会话数据

数据可以使用 put() 方法存储在会话中。该 认沽() 方法将两个参数, “关键” 和 “价值” 。

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

 

删除会话数据

该 忘了() 方法用于从会话中删除的项目。这个方法将把 关键 作为参数。

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

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

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

php artisan make:controller sessioncontroller --plain

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

第3步 - 将以下代码复制到文件中

应用程序/ http /控制器/ sessioncontroller.php。

应用程序/ http /控制器/ sessioncontroller.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','virat gandhi');
      echo "data has been added to session";
   }
   public function deletesessiondata(request $request){
      $request->session()->forget('my_name');
      echo "data has been removed from session.";
   }
}

第4步 - 在 app / http / routes.php 文件中添加以下行。

应用程序/ 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步 - 输出将如下图所示。

第7步 - 访问以下url以 从会话中获取数据 。

http://localhost:8000/session/get

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

第9步 - 访问以下url以 删除会话数据 。

http://localhost:8000/session/remove

第10步 - 您将看到一条消息,如下图所示。

下一节:laravel 验证

相关文章