Intereting Posts
Перенести все новые электронные письма в базу данных Форумы PHP – как справиться с непрочитанными дискуссиями / темами / сообщениями Создание PDF с использованием TCPDF и определенного div в качестве содержимого Сколько дней до даты XYZ? объединение двух наборов значений массива в один многорядный массив MongoDB – Почему я должен использовать курсор вместо iterator_to_array (в PHP) В PHP значение 0 (int, ноль) равно «первым» или «последнему» (строки)? как перенаправить в подпапку, а затем переписать ссылку вложенной папки на root в htaccess? Как создать вспомогательные методы на Laravel, а не фасад php strtotime () беспорядок с датой другого года Проверьте размеры изображения (высота и ширина) перед загрузкой изображения с помощью PHP Удалить непревзойденные теги HTML в строке Функция вызова spl_autoload_register с параметрами SQL Query: порядок по длине символов? Получение видео с S3 и загрузка на YouTube в PHP

Laravel 5 – Получение параметров URL в промежуточном продукте по ресурсам

Предположим, что у меня есть ресурс, определенный в моих Маршрутах, как:

Route::resource('account', 'AccountController', ['only'=> ['index','update']]); 

И тогда у меня есть Middleware прикрепленное к Controller изнутри как:

 public function __construct() { $this->middleware('BeforeAccount', ['only' => ['update']]); } 

Предположим, что я хочу получить доступ к параметру uri, который происходит после учетной записи (например, example.com/account/2 ) в моем промежуточном ПО – как я могу взять эту переменную?

Для этого вы можете использовать следующий код:

 public function handle($request, Closure $next) { $account_id = $request->route()->parameter('accounts'); //... } 

Поскольку метод handle получает объект Request в качестве первого аргумента. middleware запускается только после того, как маршрут сопоставлен, поэтому объект Request содержит текущий маршрут и не нуждается в повторном сопоставлении маршрута с использованием Route::getRoutes()->match($request) .

Для этого вам не нужно предоставлять объект \ Request:

 Route::current()->parameter('parameter');