Чому Magento 2 змушує URL-адреси мати більше 3 символів


9

Якщо ви спробуєте створити модуль з таким прізвищем, як hello-worldу Magento 2, ви отримаєте помилку, яка виглядає приблизно так .

Invalid XML in file /Users/alanstorm/Sites/magento-2-with-keys/magento2/app/code/Pulsestorm/HelloPestle/etc/frontend/routes.xml:
Element 'route', attribute 'id': [facet 'pattern'] The value 
'hello-world' is not accepted by the pattern '[A-Za-z0-9_]{3,}'.

Схоже, що Magento не хоче, щоб фронтові імена, в яких було щось інше, крім цифри, літери чи підкреслення, були в них. Він також змушує передні імена мати три або більше символів.

Обмеження кількості, літери та підкреслення має сенс, оскільки ідентифікатор маршруту використовується для створення ручки макета, а " спеціальні " символи можуть спричинити проблеми. Однак межа трьох символів заплутана.

Хтось знає причину цього?


Можливо, це відбувається через перевірки XSD.
Бхаргав Мехта

2
@Bhargav Так, але чому XSD налаштований саме так?
Алан Шторм

Відповіді:


4

Причиною було уникати брудних декларацій із занадто короткими ідентифікаторами (те саме, що занадто короткі обмеження змінних в аналізаторах стилю коду PHP).

Він застосовувався до декількох типів полів. Назва фронту маршруту помилково має це обмеження. Це буде виправлено



-2

2
Мене не цікавлять технічні деталі того, як було здійснено обмеження, я хочу знати в першу чергу.
Алан Шторм
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.