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

Метод where

Метод where применяется к объекту маршрута и позволяет задать регулярное выражение для проверки значений параметров URL. Первым параметром передаётся имя параметра, вторым - шаблон регулярного выражения. Если параметр не соответствует шаблону, маршрут не будет совпадать.

Синтаксис

<?php use Illuminate\Support\Facades\Route; Route::get($uri, $callback)->where($param, $pattern); ?>

Пример

Давайте ограничим параметр 'id' только числовыми значениями:

<?php use Illuminate\Support\Facades\Route; Route::get('/user/{id}', function ($id) { return "User ID: " . $id; })->where('id', '[0-9]+'); ?>

При переходе по адресу /user/123 будет выведено:

"User ID: 123"

А при переходе по адресу /user/abc будет ошибка 404, так как параметр не соответствует шаблону.

Пример

Давайте ограничим параметр 'name' только буквенными символами:

<?php use Illuminate\Support\Facades\Route; Route::get('/profile/{name}', function ($name) { return "Profile: " . $name; })->where('name', '[A-Za-z]+'); ?>

При переходе по адресу /profile/john будет выведено:

"Profile: john"

При переходе по адресу /profile/john123 будет ошибка 404.

Пример

Давайте ограничим несколько параметров одновременно, передав массив правил:

<?php use Illuminate\Support\Facades\Route; Route::get('/post/{id}/{slug}', function ($id, $slug) { return "Post ID: " . $id . ", Slug: " . $slug; })->where([ 'id' => '[0-9]+', 'slug' => '[a-z0-9\-]+' ]); ?>

При переходе по адресу /post/5/hello-world будет выведено:

"Post ID: 5, Slug: hello-world"

При переходе по адресу /post/abc/hello-world будет ошибка 404, так как параметр id не соответствует шаблону.

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

  • метод whereNumber,
    который ограничивает параметр целым числом
  • метод whereAlpha,
    который ограничивает параметр буквенными символами
  • метод whereAlphaNumeric,
    который ограничивает параметр буквенно-цифровыми символами
  • метод whereIn,
    который ограничивает параметр списком допустимых значений
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить