Dlaczego Magento 2 wymusza na adresach URL ponad 3 znaki


9

Jeśli spróbujesz utworzyć moduł o nazwie frontowej jak hello-worldw Magento 2, pojawi się błąd, który wygląda następująco .

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,}'.

Wygląda na to, że Magento nie chce, aby nazwy frontów URL zawierały coś innego niż cyfrę, literę lub znak podkreślenia. Wymusza także, aby pierwsze nazwiska miały trzy lub więcej znaków.

Ograniczenie liczby, litery i podkreślenia ma sens, ponieważ identyfikator trasy służy do tworzenia uchwytu układu, a „ specjalne ” znaki mogą powodować problem. Limit trzech znaków jest jednak mylący.

Czy ktoś zna przyczynę tego?


Być może wynika to z istniejących sprawdzeń poprawności XSD.
Bhargav Mehta

2
@Bhargav Tak, ale dlaczego XSD jest skonfigurowany w ten sposób?
Alan Storm

Odpowiedzi:


4

Powodem było uniknięcie niechlujnych deklaracji ze zbyt krótkimi identyfikatorami (to samo, co zbyt krótkie ograniczenia zmiennych w analizatorach kodu PHP).

Zastosowano go do wielu typów pól. Nazwa frontu trasy ma omyłkowo to ograniczenie. Zostanie to naprawione



-2

2
Nie jestem zainteresowany szczegółami technicznymi, w jaki sposób zostało wdrożone ograniczenie, chcę wiedzieć, dlaczego w ogóle istnieje.
Alan Storm
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.