Как я могу сделать маршрутизатор сегмента разумно обрабатывать ограничения в ZF2?

Я использую маршрутизатор сегмента как дочерний элемент одного из моих основных маршрутов Literal в приложении ZF2 (в настоящее время использующем 2.3.5). Маршрутизатор должен уметь обрабатывать турецкие символы ввода, поступающие с URL. Моя первая попытка выглядела примерно так (как детский маршрут):

'book' => array(
    'type' => 'Zend\Mvc\Router\Http\Segment',
    'options' => array(
        'route' => 'kitap/:book[/]',
        'constraints' => array(
            'book' => '[a-zA-ZçÇşŞğĞıİöÖüÜ1-3.+ ]+',
        ),
    ),
),

В основном это работало для всего, что мне было нужно: заглавных и строчных букв, цифр до 3 и т. Д. Затем я заметил, что турецкая заглавная буква не принимается (I), поэтому я начал проверять. На самом деле он вообще не принимает турецкие символы, хотя остальные биты, кажется, обрабатываются правильно.

Даже используя \w+ не соответствует (локаль не установлена ​​на турецкий язык?), но используется \S+ делает так, чтобы у маршрутизатора не было проблем с турецкими URL-адресами, это просто совпадение.

Я просмотрел исходный код маршрутизатора сегмента, и он, кажется, использует preg_match(), который должен справиться с этим просто отлично. Что мне здесь не хватает?

Изменить: Этот вопрос о той же проблеме, но в маршрутизаторе Regex. Этот, еще более тесно связанный, имеет дело с той же проблемой в маршрутизаторе сегмента и является почти дубликатом, но он не решает мою проблему, поскольку продемонстрированный код относится к старой версии ZF2 и не является ни каплей совпадения, ни я. возможность портировать его для работы с обновленным вышестоящим модулем, который, кажется, обрабатывает вещи немного по-другому. Я также подал отчет об ошибке в верхнем течении, надеясь, что это там будет исправлено, но я все еще остаюсь без работающего модуля. Я счастлив создать заменяющий модуль для своего проекта с этой исправленной функцией, но не могу выяснить изменения, чтобы заставить его работать.

0 ответов

Другие вопросы по тегам