我想扩展laravel的cookie系统以覆盖它的方法。
事实上,我想在创建laravel的cookie后自动添加前缀,并读取带有该前缀的cookie名称。
我该怎么做?
我可以通过覆盖CookieJar
类并将其绑定到自定义服务提供程序来执行第一步并设置带有前缀名称的cookie。但我不知道如何检索带有该前缀的cookie?
这是我覆盖CookieJar make
方法的代码:
public function make($name, $value, $minutes = 0, $path = null, $domain = null, $secure = false, $httpOnly = true)
{
$name = 'prefix_' . $name;
list($path, $domain, $secure) = $this->getPathAndDomain($path, $domain, $secure);
$time = ($minutes == 0) ? 0 : Carbon::now()->getTimestamp() + ($minutes * 60);
return new Cookie($name, $value, $time, $path, $domain, $secure, $httpOnly);
}
答案 0 :(得分:1)
您可以将get
方法从Illuminate\Support\Facades\Cookie
重写为
return static::$app['request']->cookie('prefix_' . $key, $default);
将其保存到另一个类并在Cookie
config/app.php
别名