Laravel教程: Cookie的创建与检索

2018-10-0308:01:26后端程序开发Comments2,004 views字数 1817阅读模式

创建Cookie

Cookie可以通过 Laravel 的全局 cookie 助手来创建。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/6169.html

它是 Symfony\Component\HttpFoundation\Cookie 的一个实例,cookie可以附加到使用withCookie()方法的响应。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/6169.html

调用 withCookie()方法创建 Illuminate\Http\Response 类的一个实例。由Laravel生成的cookie经过加密并签名,并且不能由客户修改或读取。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/6169.html

这里是示例代码的解释。
//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的值的持续时间。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/6169.html

Cookie可以使用 forever方法来来设置永远生效,如下面的代码所示。
$response->withCookie(cookie()->forever('name', 'value'));

检索Cookie

当我们设置Cookie,可以通过 cookie()方法检索cookie。cookie()方法只有一个参数,它是Cookie的名称。cookie方法可以用Illuminate\Http\Request 的实例调用。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/6169.html

这里是一个示例代码。
//’name’ is the name of the cookie to retrieve the value of
$value = $request->cookie('name');

示例

第1步 - 执行下面的命令来创建一个控制器用来操作 cookie。
php artisan make:controller CookieController
第2步 - 成功执行后,您会得到以下输出-
Laravel教程: Cookie的创建与检索
第3步 - 复制下面的代码到文件 - app/Http/Controllers/CookieController.php。

app/Http/Controllers/CookieController.php文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/6169.html

<?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。

app/Http/routes.php文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/6169.html

Route::get('/cookie/set','CookieController@setCookie');
Route::get('/cookie/get','CookieController@getCookie');
第5步 - 访问以下网址设置cookie。

http://localhost:8000/cookie/set文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/6169.html

第6步 - 将显示如下所示的输出。在下面屏幕截图是火狐浏览器,但可根据你的浏览器情况可能有所不同,cookie也可以从cookie选项选中。
Laravel教程: Cookie的创建与检索文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/6169.html

第7步 - 请访问以下网址,从上面的URL得到 cookie。

http://localhost:8000/cookie/get文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/6169.html

第8步 - 得到的输出结果如下图所示。
Laravel教程: Cookie的创建与检索
文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/6169.html
  • 本站内容整理自互联网,仅提供信息存储空间服务,以方便学习之用。如对文章、图片、字体等版权有疑问,请在下方留言,管理员看到后,将第一时间进行处理。
  • 转载请务必保留本文链接:https://www.cainiaoxueyuan.com/bc/6169.html

Comment

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定