Laravel Cookie

laravel cookie

在处理web应用程序中的用户会话时,cookie起着重要作用。在本章中,您将学习如何在基于laravel的web应用程序中使用cookie。

 

创建一个cookie

cookie可以由laravel的全局cookie助手创建。它是 symfony \ component \ httpfoundation \ cookie的 一个实例。cookie可以使用withcookie()方法附加到响应中。创建 illuminate \ http \ response 类的响应实例以调用withcookie()方法。由laravel生成的cookie被加密并签名,并且不能被客户修改或读取。

这里有一个解释示例代码。

//create a response instance
$response = new illuminate\http\response('hello world');

//call the withcookie() method with the response method
$response->withcookie(cookie('name', 'value', $minutes));

//return the response
return $response;

cookie()方法需要3个参数。第一个参数是cookie的名称,第二个参数是cookie的值,第三个参数是cookie的持续时间,cookie将自动删除。

cookie可以通过使用永久方法永久设置,如下面的代码所示。

$response->withcookie(cookie()->forever('name', 'value'));

 

检索cookie

一旦我们设置了cookie,我们就可以通过cookie()方法检索cookie。这个cookie()方法将只有一个参数,它将是cookie的名字。cookie方法可以通过使用illuminate \ http \ request 实例来调用。

这是一个示例代码。

//’name’ is the name of the cookie to retrieve the value of
$value = $request->cookie('name');

观察以下示例以了解有关cookie的更多信息 -

第1步 - 执行以下命令来创建一个控制器,我们将在其中操作cookie。

php artisan make:controller cookiecontroller --plain

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

第3步 - 复制下面的代码

app / http / controllers / cookiecontroller.php 文件。

应用程序/ http /控制器/ cookiecontroller.php


namespace app\http\controllers;

use illuminate\http\request;
use illuminate\http\response;
use app\http\requests;
use app\http\controllers\controller;

class cookiecontroller extends controller {
   public function setcookie(request $request){
      $minutes = 1;
      $response = new response('hello world');
      $response--->withcookie(cookie('name', 'virat', $minutes));
      return $response;
   }
   public function getcookie(request $request){
      $value = $request->cookie('name');
      echo $value;
   }
}

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

应用程序/ http / routes.php文件

route::get('/cookie/set','cookiecontroller@setcookie');
route::get('/cookie/get','cookiecontroller@getcookie');

第5步 - 访问以下url以设置cookie。

http://localhost:8000/cookie/set

第6步 - 输出将如下所示。 截图中显示的窗口取自firefox,但取决于您的浏览器,也可以通过cookie选项检查cookie。

第7步 - 访问以下url以从上述url获取cookie。

http://localhost:8000/cookie/get

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

下一节:laravel 响应

laravel 教程

相关文章