РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
422 of 1392 menu

Функция route

Функция route применяется для генерации URL-адресов на основе зарегистрированных маршрутов. Первым параметром передаётся имя маршрута, вторым - массив параметров, которые подставляются в URL. Если параметры не требуются, можно передать только имя маршрута. Функция возвращает строку с полным URL-адресом, включая домен и протокол.

Синтаксис

<?php route($name, $parameters = [], $absolute = true); ?>

Параметр $name - имя маршрута, которое было задано в файле маршрутов. Параметр $parameters - массив значений для динамических сегментов URL. Параметр $absolute определяет, должен ли URL быть абсолютным.

Пример

Давайте сгенерируем URL для маршрута без параметров:

<?php use Illuminate\Support\Facades\Route; Route::get('/about', function () { return view('about'); })->name('about'); ?>
<?php $res = route('about'); echo $res; ?>

Результат выполнения кода:

"http://localhost/about"

В данном примере функция route сгенерировала абсолютный URL для маршрута с именем 'about'.

Пример

Рассмотрим генерацию URL с динамическими параметрами:

<?php use Illuminate\Support\Facades\Route; Route::get('/user/{id}', function ($id) { return view('user', ['id' => $id]); })->name('user.show'); ?>
<?php $res = route('user.show', ['id' => 5]); echo $res; ?>

Результат выполнения кода:

"http://localhost/user/5"

В этом примере функция route подставила значение 5 в динамический сегмент {id} URL.

Пример

Пример генерации URL с несколькими параметрами:

<?php use Illuminate\Support\Facades\Route; Route::get('/posts/{category}/{id}', function ($category, $id) { return view('post', ['category' => $category, 'id' => $id]); })->name('post.show'); ?>
<?php $res = route('post.show', ['category' => 'tech', 'id' => 10]); echo $res; ?>

Результат выполнения кода:

"http://localhost/posts/tech/10"

Функция route автоматически подставляет значения в соответствующие сегменты URL в правильном порядке.

Пример

Добавление строки запроса к сгенерированному URL:

<?php use Illuminate\Support\Facades\Route; Route::get('/search', function () { return view('search'); })->name('search'); ?>
<?php $res = route('search', ['q' => 'laravel', 'page' => 2]); echo $res; ?>

Результат выполнения кода:

"http://localhost/search?q=laravel&page=2"

В данном случае функция route добавила параметры в виде строки запроса, так как они не были определены в шаблоне URL.

Смотрите также

  • метод get,
    который определяет маршрут для GET-запросов
  • метод group,
    который группирует маршруты с общими атрибутами
  • функция url,
    которая генерирует URL по заданному пути
  • функция action,
    которая генерирует URL по контроллеру и методу
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить