Я пытался создать промежуточное программное обеспечение в плагине в CMS за октябрь, которое берет из входных данных значение и сохраняет его в сеансе для периодического отображения в шаблоне.
Функция промежуточного программного обеспечения:
public function handle($request, Closure $next)
{
session()->put('foo', input('foo'));
logger('StartSession: foo: ', [session('foo')]);
return $next($request);
}
Регистрация промежуточного программного обеспечения в plugin.php
public function register()
{
$this->app->make('Illuminate\Contracts\Http\Kernel')->prependMiddleware('October\Demo\Middleware\StartSession');
}
Метод в плагине для доступа к сеансу
public function registerMarkupTags()
{
return [
'functions' => [
'session' => [Session::class, 'get']
]
];
}
Использование в демо-теме
<h1>{{ session('foo') }}</h1>
Это работает при первом запуске.Если я поставлю foo как строку запроса, foo отобразится на странице.Однако при втором запуске, если я изменил строку запроса на bar, на странице сохраняется foo.
Вот пример проблемы в новой установленной октябрьской копии
https://github.com/reed-josh/october-session-issue