Laravel 5.4 Cookie值
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Laravel 5.4 Cookie值相关的知识,希望对你有一定的参考价值。
我想获得一个cookie的价值。
1 When I use Laravel's request cookie helper:
$request->cookie('CookieName');
Laravel返回cookie的名称而不是其值。
2 When I dd() the the cookie() function:
dd(cookie('CookieName'));
我明白了:
#name: "CookieName"
#value: null
#domain: null
#expire: 0
#path: "/"
#secure: false
#httpOnly: true
-raw: false
-sameSite: null
3 When I use php's build in $_COOKIE function:
$_COOKIE['CookieName'];
我实际上得到了cookie的价值。
有没有办法让Lavavel返回cookie的值?
答案
正如您所使用的那样,获取cookie值的正确方法
$request->cookie('name');
但是cookie
辅助方法创建了一个新的cookie,而不是取值。所以,当你做dd(cookie('CookieName'));
时,它创建一个具有该名称且没有价值的cookie并返回它。
Laravel无需任何用户干预即可在运行时加密和解密cookie值。检查您如何重新设置烹饪,并确保已设置将用于加密的APP_KEY
。更改此密钥将使所有旧cookie无效。
另一答案
其实
$value = $request->cookie('name');
应该给你一个值,你可以在doc阅读。
我怀疑你的cookie是从一些外部代码(而不是laravel代码)设置的,例如它是由jQuery插件或其他东西创建的。在这种情况下,您必须将cookie添加到EncryptCookies中间件$除表之外。因为Laravel框架创建的所有cookie都经过加密并使用身份验证代码进行签名。例如来自jQuery插件的所有其他cookie未经Laravel加密和签名,因此$ request-> cookie('name')无法看到它们或它们的值。
以上是关于Laravel 5.4 Cookie值的主要内容,如果未能解决你的问题,请参考以下文章