#php #asp.net #laravel #routes #laravel-routing
#php #asp.net #laravel #маршруты #laravel-маршрутизация
Вопрос:
Я абсолютный новичок в Laravel, и в настоящее время я изучаю функцию routes фреймворка.
Я хочу знать, возможно ли сделать то, что мы можем сделать с ASP.NET это перенаправление на контроллер, записанный в URL.
На самом деле, чтобы сделать что-то вроде:
<?php
Route::get('/{CustomController}/{Action}', function ($controller, $action) {
return controller($controller, $action);
});
Где CustomController
находится контроллер, который будет запускать запрос к представлению Action
С ASP.NET По сути, это что-то вроде:
routes.MapRoute(
name: "default",
template: "{controller=Home}/{action=Index}");
});
Ответ №1:
Да, с маршрутами в laravel формат такой:
Route::get('/custom-controller', 'CustomController@index');
Если вы используете стандартные имена методов в вашем контроллере, такие как index()
, store()
и т. Д
вместо этого вы можете использовать resource, и он автоматически создаст все ваши маршруты:
Route::resource('/my-route', 'CustomController');
Если вы затем это сделаете php artisan route:list
, вы увидите, что laravel автоматически добавил все стандартные маршруты для вашего контроллера.
Комментарии:
1. да, но … нет. Цель состоит в том, чтобы иметь 1 маршрут для X контроллеров, где контроллер выбирается В URL и может использоваться в качестве переменной, является модулем маршрутизации.
2. Насколько я знаю, это не то, что встроено в
laravel
, если вам нужна эта функциональность, вам нужно будет расширить маршрутизатор.