Por que o Magento 2 força os URLs a terem mais de 3 caracteres


9

Se você tentar criar um módulo com um nome de frente como hello-worldno Magento 2, receberá um erro parecido com este .

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

Parece que o Magento não deseja nomes de URLs com nada além de um número, letra ou sublinhado. Também força os nomes da frente a terem três ou mais caracteres.

A limitação de número, letra e sublinhado faz sentido, pois uma ID de rota é usada para criar um identificador de layout e caracteres " especiais " podem causar um problema. No entanto, o limite de três caracteres é confuso.

Alguém sabe a razão para isso?


Talvez seja por causa das validações XSD existentes.
Bhargav Mehta

2
@Bhargav Sim, mas por que o XSD está configurado dessa maneira?
Alan Storm

Respostas:


4

O motivo foi evitar declarações confusas com identificadores muito curtos (o mesmo que limitações de variáveis ​​muito curtas nos analisadores de estilo de código PHP).

Foi aplicado a vários tipos de campos. O nome da frente da rota tem essa limitação por engano. Será consertado


0

alterar olá mundo como hello_world

Os caracteres válidos são alfabeto, numérico e _


Isso não parece responder à pergunta?
Alan Storm

-2

2
Não estou interessado nos detalhes técnicos de como a limitação foi implementada. Quero saber por que ela está lá em primeiro lugar.
Alan Storm
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.