为什么Magento 2强制URL为3个以上字符


9

如果您尝试使用hello-worldMagento 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似乎不希望URL头名中包含数字,字母或下划线以外的任何内容。它还会强制姓氏包含三个或更多字符。

数字,字母和下划线限制是有道理的,因为使用路由ID来创建布局句柄,而“ 特殊 ”字符可能会引起问题。但是,三个字符的限制令人困惑。

有人知道原因吗?


可能是因为已进行XSD验证。
巴尔加夫·梅塔

2
@Bhargav是的,但是为什么以这种方式配置XSD?
艾伦·斯托姆

Answers:


4

原因是要避免使用太短的标识符进行混乱的声明(与PHP代码样式分析器中的变量限制太短相同)。

它已应用于多种字段类型。路线前名错误地具有此限制。它将被修复



-2

2
我对如何实现限制的技术细节不感兴趣,我想知道为什么会首先出现限制。
艾伦·斯托姆
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.