Как добавить маршрут в Laravel, который содержит GET-параметры?

Как создать маршрут с параметром URL в Laravel и какие это могут быть параметры?
  • 16 марта 2024 г. 4:39
Ответы на вопрос 2
Для добавления маршрута с GET-параметрами в Laravel можно использовать следующий синтаксис:

```php
Route::get('/route', 'Controller@method')->name('route.name');
```

Где '/route' - путь к маршруту, 'Controller@method' - контроллер и метод, который будет обрабатывать этот маршрут, 'route.name' - название маршрута.

Для добавления параметров URL в маршрут в Laravel можно использовать следующий синтаксис:

```php
Route::get('/route/{param}', 'Controller@method')->name('route.name');
```

Где '{param}' - это параметр URL, который можно передать в метод контроллера для его обработки.

Параметры URL могут быть любыми, в зависимости от задачи. Например, это может быть идентификатор пользователя, название категории и т.д.

Пример маршрута с параметром URL:

```php
Route::get('/users/{id}', 'UserController@show')->name('users.show');
```

В данном примере, параметр '{id}' будет передан в метод 'show' контроллера 'UserController' для отображения информации о пользователе с определенным идентификатором.
Такой маршрут (c гет параметрами) зарегистрировать не получится. Делай без параметров, а уже внутри контроллера, который будет обрабатывать маршрут обрабатывай условия. 

Route::get('/', function(\Illuminate\Http\Request $request) {
    $id = $request->input('id');
    match($id) {
        'one' => $this->caseOne(),
        'two' => $this->caseTwo(),
        default=> $this->caseDefault(),
    }
});


Под параметрами маршрута скорее всего подразумевается когда ты передаешь данные через path, а не query string.

Например

Route::get('/page/{page}/{id}', function(\Illuminate\Http\Request $request, string $page, string $id) {
    dump($page, $id);
});


Для урл /page/example/10 будет выведено example и 10
Похожие вопросы