我想扩展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);
}发布于 2017-08-23 15:09:17
您可以将Illuminate\Support\Facades\Cookie中的get方法重写为
return static::$app['request']->cookie('prefix_' . $key, $default);将该别名保存到另一个类中,并在config/app.php中注册该别名以代替Cookie别名
https://stackoverflow.com/questions/45803182
复制相似问题