Подстановочный знак для маршрутизации к контроллеру

#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 , если вам нужна эта функциональность, вам нужно будет расширить маршрутизатор.