Динамически карта маршрутов в Ларавеле
Существуют ли какие-либо решения для динамического вызова маршрутов Laravel, вызова контроллера и действия? Я не мог найти ничего в документации.
<?php
Route::get('/{controller}/{action}',
function ($controller, $action) {
})
->where('controller', '.*')
->where('action', '.*');
1 ответ
Решение
Laravel не имеет встроенной реализации, которая автоматически сопоставляет маршруты с контроллером / действиями. Но если вы действительно этого хотите, сделать простую реализацию не так сложно.
Например:
Route::get('/{controller}/{action}', function ($controller,$action) {
return resolve("\\App\\Http\Controllers\\{$controller}Controller")->$action();
})->where('controller', '.*')->where('action', '.*');
Имейте в виду, что этот пример не будет автоматически вставлять объекты в ваши действия, а параметры URL также не вводятся. Вам придется написать немного больше кода, чтобы сделать это.