开发手册 欢迎您!
软件开发者资料库

Laravel - Cookie

Laravel Cookie - 从简单和简单的步骤学习Laravel,从基本到高级概念,包括概述,安装,应用程序结构,配置,路由,中间件,命名空间,控制器,请求,Cookie,响应,视图,刀片模板,重定向,工作数据库,错误和日志记录,表单,本地化,会话,验证,文件上传,发送电子邮件,Ajax,错误,事件处理,外观,安全性,合同,CSRF保护,身份验证,授权,工匠控制台,加密,哈希,了解发布处理。

Cookie在Web应用程序上处理用户会话时发挥着重要作用.在本章中,您将学习如何在基于Laravel的Web应用程序中使用cookie.

创建Cookie

Cookie可以通过全局cookie帮助程序创建Laravel.它是 Symfony\Component\HttpFoundation\Cookie 的一个实例.可以使用withCookie()方法将cookie附加到响应中.创建 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 responsereturn $response;

Cookie()方法将采用3个参数.第一个参数是cookie的名称,第二个参数是cookie的值,第三个参数是cookie的持续时间,之后cookie将被自动删除.

Cookie可以是永远使用永久方法设置,如下面的代码所示.

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

检索Cookie

设置cookie后,我们可以通过cookie()方法检索cookie.这个cookie()方法只接受一个参数,它将是cookie的名称.可以使用 Illuminate\Http\Request 的实例调用cookie方法.

以下是示例代码.

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

示例

观察以下示例以了解有关Cookies的更多信息;

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

php artisan make:controller CookieController --plain

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

CookieController

第3步 : 复制以下代码

app/Http/Controllers/CookieController.php 文件.

app/Http/Controllers/CookieController.php

withCookie(cookie('name', 'virat', $minutes));      return $response;   }   public function getCookie(Request $request) {      $value = $request->cookie('name');      echo $value;   }}

第4步 : 在 app/Http/routes.php文件中添加以下行.

app/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.

Hello World

第7步 : 访问以下网址以获取上述网址中的Cookie.

http://localhost:8000/cookie/get

第8步 : 输出将如下图所示.

Virat