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
<?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 响应
Web应用程序根据许多参数以多种方式响应用户的请求。本章详细解释了Laravel Web应用程序中的响应。 基本回应Laravel提供了几种不同的方式来返回响应。响应可以从路由或控制器发送。可以发送的基本响应 ...
AI 中文社