我试图在 Request 宏中创建一个延迟加载模式,该模式将在请求的生命周期内缓存值。
我把它放在我的App\Providers\RouteServiceProvider boot()函数中:
Request::macro('foo', function() {
static $bar;
if (is_null($bar)) {
$bar = 'was not null';
return 'was null';
}
return $bar;
});
每次我打电话request()->foo()或Request::foo()它返回“为空”。
我的问题有两个:
我应该如何完成这个模式?
为什么它不像写的那样工作?
慕尼黑8549860