Как добавить маршрут в 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 гет параметрами) зарегистрировать не получится. Делай без параметров, а уже внутри контроллера, который будет обрабатывать маршрут обрабатывай условия. <br/> <br/> <pre><code class="php">Route::get('/', function(\Illuminate\Http\Request $request) {
    $id = $request-&gt;input('id');
    match($id) {
        'one' =&gt; $this-&gt;caseOne(),
        'two' =&gt; $this-&gt;caseTwo(),
        default=&gt; $this-&gt;caseDefault(),
    }
});</code></pre> <br/> <br/> Под параметрами маршрута скорее всего подразумевается когда ты передаешь данные через path, а не query string. <br/> <br/> Например <br/> <br/> <pre><code class="php">Route::get('/page/{page}/{id}', function(\Illuminate\Http\Request $request, string $page, string $id) {
    dump($page, $id);
});</code></pre> <br/> <br/> Для урл <code>/page/example/10</code> будет выведено <code>example</code> и <code>10</code>
Похожие вопросы