За последние 24 часа нас посетили 22415 программистов и 1137 роботов. Сейчас ищут 563 программиста ...

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

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

  1. mkramer

    mkramer Суперстар
    Команда форума Модератор

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

    denis01 Суперстар
    Команда форума Модератор

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

    mkramer Суперстар
    Команда форума Модератор

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

    denis01 Суперстар
    Команда форума Модератор

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

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

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

    denis01 Суперстар
    Команда форума Модератор

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