Laravel route как передать параметры

Узнайте как передавать параметры в маршруты Laravel с помощью примеров с простыми и запоминающимися синтаксисами.

Передача параметров в Laravel роуты

В Laravel возможно передавать параметры в роуты. Параметры определяются в строке роута как часть URL, обрамленная фигурными скобками. Они могут быть указаны как в роутах для просмотра, так и в роутах для действий. Например, мы можем создать роут для просмотра профиля пользователя и указать параметр ID пользователя в строке роута:


Route::get('user/{id}', function ($id) {
    //
});

В этом примере мы определили параметр {id} в строке роута. При вызове этого роута пользователь должен передать параметр ID пользователя в этот роут. Например, чтобы просмотреть профиль пользователя с ID 12, пользователь должен вызвать следующий URL:


http://example.com/user/12

В этом случае параметр id будет передан в функцию обратного вызова со значением 12. Мы можем использовать это значение, чтобы получить данные пользователя из базы данных и отобразить их. Таким образом, мы можем создать динамические роуты для просмотра данных различных пользователей, используя только один роут.

Также можно определить несколько параметров в строке роута. Например, для просмотра профиля мы можем определить параметр ID и параметр имя пользователя:


Route::get('user/{id}/{name}', function ($id, $name) {
    //
});

В этом случае при вызове этого роута пользователь должен передать два параметра - ID пользователя и имя пользователя. Например:


http://example.com/user/12/John

В этом случае параметры id и name будут переданы в функцию обратного вызова со значениями 12 и John соответственно. Мы можем использовать эти данные для получения данных пользователя из базы данных и отображения его профиля.

Также можно определить опциональные параметры в роутах. Например, мы можем определить параметр имя пользователя как опциональный. Для этого нужно поставить знак вопроса после имени параметра:


Route::get('user/{id}/{name?}', function ($id, $name = null) {
    //
});

В этом случае параметр name будет являться опциональным. То есть пользователь может вызвать этот роут и передать только параметр id и не передавать параметр name. В этом случае параметр name будет иметь значение null.

Ответы (0)