Как передать значение параметра маршрута в определение промежуточного программного обеспечения для маршрута? - PullRequest
2 голосов
/ 09 октября 2019

Я применяю Litespeed cache на нашем сайте, и мне нужно использовать значение параметра route при вызове lstag middleware.

Я уже пытался использовать

Route::getCurrentRoute()->parameter('slug');
Request->route()->paremeter('slug');
Request::route('route.name')->parameter('slug');

и все остальное, что я мог найти в Интернете, но ничего не получалось. Он просто выдавал ошибку В строке 103 web.php:

Вызов параметра функции-члена () со значением NULL

Мой полный код для маршрута:

Route::get('serialy/{slug}', 'SerialsController@show')->name('serials.show')->middleware('lstag:serial.' . Route::getCurrentRoute()->parameter('slug'));

Я ожидаю, что смогу использовать значение параметра при вызове промежуточного программного обеспечения для маршрута ( lstag ), но не могу найти способ сделать это. Это вообще возможно?

1 Ответ

0 голосов
/ 10 октября 2019

Как уже упоминалось @lagbox, вышеописанное не будет возможным.

Однако вы можете использовать промежуточное ПО lstags в контроллере __construct() (https://laravel.com/docs/6.x/controllers#controller-middleware).

Там у вас должна быть доступная информация, необходимая для построения заголовка X-LiteSpeed-Tag по вашему желанию.

...