Laravel Cookie

Laravel Cookie

在处理Web应用程序的用户会话时,Cookie扮演着重要角色。在本章中,您将学习在基于Laravel的Web应用程序中使用Cookie的方法。

创建Cookie

Laravel的全局Cookie帮助器可以创建Cookie。它是 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 methodresponse->withCookie(cookie('name', 'value', minutes));

//return the response
returnresponse;

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

可以使用forever方法来永久设置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');

示例

观察以下示例以更好地了解Cookie:

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

php artisan make:controller CookieController --plain

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

Laravel Cookie

步骤3 - 将以下代码复制到

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

app/Http/Controllers/CookieController.php

<?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));
      returnresponse;
   }
   public function getCookie(Request request) {value = request->cookie('name');
      echovalue;
   }
}

步骤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。

Laravel Cookie

步骤7 − 访问以下URL以从上面的URL获取cookie。

http://localhost:8000/cookie/get

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

Laravel Cookie

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程