laravel中cookie的两个问题

1.我百度了一下laravel中cookie的用法 发现为什么这个cookie跟响应有关系呢?它们是什么关系?感觉跟TP很不一样 用起来非常麻烦
2.比如我在控制器中这样设置一个cookie后怎样才能在视图中使用这个cookie呢?

public function index()
    {
        Cookie::queue('test', 'Hello, Laravel', 10);
        return view('index');
    }

3.还有一个我看到的例子 为什么这个cookie要写到路由里面去呢?

Route::get('cookieset', function()
{
    $foreverCookie = Cookie::forever('forever', 'Success');
    $tempCookie = Cookie::make('temporary', 'My name is fantasy', 5);//参数格式:$name, $value, $minutes
    return Response::make()->withCookie($foreverCookie)->withCookie($tempCookie);
});
阅读 3.9k
2 个回答

谢邀。

第一个问题:cookie跟响应之间的关系?
答:当用户登录后,后续的请求是不需要再次验证身份的,原因就在于每次请求的头部都会有一个cookie值,这个cookie值标明了本次请求的用户是谁;

第二个问题:在控制器中这样设置一个cookie后怎样才能在视图中使用这个cookie呢?
答:不明白你在什么场合下会用cookie作为信息的载体,建议用session闪存flash方法;

第三个问题:为什么这个cookie要写到路由里面去呢?
答:我也不知道他为什么这么做?系统框架提供Illuminate\Session\Middleware\StartSession中间件,提供cookierequest提取、解密、加密、赋值到response等工作;这个应该是demo,教你怎么用吧;

额,你在控制器中设置了一个cookie,然后想直接在视图中使用,很遗憾这是不可能的

public function index()
{
    //设置cookie
    //返回视图并在视图中使用cookie
}

因为在return view()方法前,cookie还没有输出到页面,

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进