如何扩展laravel cookie系统

时间:2017-08-21 18:03:46

标签: laravel cookies

我想扩展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);
}

1 个答案:

答案 0 :(得分:1)

您可以将get方法从Illuminate\Support\Facades\Cookie重写为

return static::$app['request']->cookie('prefix_' . $key, $default);

将其保存到另一个类并在Cookie

中注册代替config/app.php别名