Как в route передать параметры laravel

Изучаем простой и понятный способ передачи параметров в роутеры Laravel. Практические примеры, пошаговая инструкция и примеры для начинающих.

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

В Laravel Route параметры могут быть переданы используя динамические сегменты URI. Динамические сегменты определяются как части URI, которые начинаются с фигурной скобки. Например, если вы определите маршрут с динамическим сегментом, как показано ниже:

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

Тогда этот маршрут будет отражать запросы с любой URI, которая начинается с user /, за исключением роутов, определенных до этого. В приведенном выше примере динамический сегмент представляет собой {id}. Для того, чтобы передать параметры в маршрут, необходимо использовать аргументы функции обратного вызова при определении маршрута.

Например, для передачи двух параметров в маршрут можно использовать следующий код:

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

Как видите, этот маршрут будет отражать любой запрос с URI, начинающейся с user /, который содержит два динамических сегмента. Аргументы функции обратного вызова будут принимать два параметра - значения, переданные в эти динамические сегменты.

Вы также можете определить параметры по умолчанию с помощью дополнительного аргумента, переданного в функцию Route :: get (), как показано ниже:

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

Здесь мы определили динамический сегмент {name?}, что означает, что параметр name будет доступен в функции обратного вызова, но не обязателен для передачи. Таким образом, этот маршрут будет отражать запросы URI с параметром name и без него. Он также будет принимать параметр по умолчанию null.

Более того, вы можете определить дополнительные параметры, которые будут доступны в функции обратного вызова, с помощью аргумента по умолчанию второй функции Route :: get (), как показано ниже:

Route::get('user/{name?}', function ($name = null) {
    //
}, ['defaults' => ['name' => 'John']]);

В этом примере мы определили дополнительный параметр с именем name и значением John, который будет доступен в функции обратного вызова. Таким образом, если параметр name не передан в этот маршрут, он будет иметь значение John по умолчанию.

Таким образом, вы можете легко передавать параметры в маршруты Laravel используя динамические сегменты URI, аргументы функции обратного вызова и дополнительные параметры по умолчанию.

Ответы (0)