Я пытался создать шаблон с отложенной загрузкой в макросе запроса, который бы кэшировал значение в течение срока действия запроса.
Я поместил это в мою 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()
, он возвращает 'was null'.
Мой вопрос состоит из двух частей:
- Как я должен Совершено sh этот шаблон?
- Почему он не работает как написано?