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のフロントネームを望んでいないようです。また、フロントネームが3文字以上になるように強制します。

ルートIDはレイアウトハンドルの作成に使用されるため、数字、文字、およびアンダースコアの制限は意味をなし、「特殊」文字が問題を引き起こす可能性があります。ただし、3文字の制限は混乱を招きます。

誰かがこの理由を知っていますか?


おそらくこれは、XSD検証が実施されているためです。
Bhargav Mehta

2
@Bhargavはい、しかしなぜXSDはそのように構成されているのですか?
アランストーム

回答:


4

その理由は、識別子が短すぎる乱雑な宣言を避けるためでした(PHPコードスタイルアナライザーでの変数の制限が短すぎるのと同じ)。

複数のフィールドタイプに適用されました。ルートフロント名には、誤ってこの制限があります。修正されます



-2

2
制限がどのように実装されたかについての技術的な詳細には興味がありません。そもそもなぜそれが存在するのかを知りたいのです。
アランストーム
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.