За последние 24 часа нас посетили 8102 программиста и 448 роботов. Сейчас ищут 132 программиста ...

Ограничение параметров маршрута списком значений

Тема в разделе "Laravel", создана пользователем mkramer, 12 авг 2017 в 16:44.

  1. mkramer

    mkramer Старожил

    С нами с:
    20 июн 2012
    Сообщения:
    4.282
    Симпатии:
    641
    Есть ли какой-нибудь способ задать не регулярку, а конкретный список возможных значений для маршрута? К примеру, параметра <page> в данном случае:
    PHP:
    1. Route::get("/{page}", "Main@page")
     
  2. denis01

    denis01 Старожил
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    11.238
    Симпатии:
    1.506
    Адрес:
    Молдова, г.Кишинёв
    Не хочешь делать через регулярку "или", а просто массив значений передать? page1|page2|page3
     
    Maputo и mkramer нравится это.
  3. mkramer

    mkramer Старожил

    С нами с:
    20 июн 2012
    Сообщения:
    4.282
    Симпатии:
    641
    Вот про массив в доках не нашёл, можно? Исходник ларки тяжело читается. Хотя, через вертикальную черту наверно можно. Сейчас попробовал preg_march, даёт совпадение. Спасибо. Просто редко регулярки юзаю, забыл.
     
  4. denis01

    denis01 Старожил
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    11.238
    Симпатии:
    1.506
    Адрес:
    Молдова, г.Кишинёв
    Не знаю, может кто-то подскажет
     
  5. Maputo

    Maputo Активный пользователь

    С нами с:
    30 июл 2015
    Сообщения:
    515
    Симпатии:
    64
    Я так понял, что набор значений нужен, чтобы разграничить маршрутизацию похожих запросов между разными маршрутами?
    Я не поклонник ларавель, но есть вопрос: что будет если контроллер вернет false не найдя в массиве соответствия $page?
     
  6. denis01

    denis01 Старожил
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    11.238
    Симпатии:
    1.506
    Адрес:
    Молдова, г.Кишинёв
    По идее не контроллер должен возвращать, а роутер, тогда пойдёт дальше по другим роутам проверять и если не один не подошёл то 404
     
    Maputo нравится это.