¿Por qué Magento 2 obliga a las URL a tener más de 3 caracteres?


9

Si intenta crear un módulo con un nombre frontal como hello-worlden Magento 2, obtendrá un error similar al siguiente .

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 Magento no quiere nombres de URL que tengan algo más que un número, letra o guión bajo. También obliga a los nombres de frente a tener tres o más caracteres.

La limitación de números, letras y guiones bajos tiene sentido ya que se usa una ID de ruta para crear un controlador de diseño y los caracteres " especiales " pueden causar un problema. Sin embargo, el límite de tres caracteres es confuso.

¿Alguien sabe la razón de esto?


Tal vez esto se deba a las validaciones XSD que están en su lugar.
Bhargav Mehta

2
@Bhargav Sí, pero ¿por qué está configurado el XSD de esa manera?
Alan Storm

Respuestas:


4

La razón era evitar declaraciones desordenadas con identificadores demasiado cortos (lo mismo que limitaciones de variables demasiado cortas en analizadores de estilo de código PHP).

Se aplicó a múltiples tipos de campo. El nombre del frente de la ruta tiene esta limitación por error. Será arreglado


0

cambiar hello-world como hello_world

Los caracteres válidos son alfabeto, numérico y _


Esto no parece responder a la pregunta?
Alan Storm

-2

2
No estoy interesado en los detalles técnicos de cómo se implementó la limitación, quiero saber por qué está allí en primer lugar.
Alan Storm
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.