Mengapa Magento 2 Memaksa URL menjadi 3+ ​​Karakter


9

Jika Anda mencoba membuat modul dengan nama depan seperti hello-worlddi Magento 2, Anda akan mendapatkan kesalahan yang terlihat seperti ini .

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

Sepertinya Magento tidak menginginkan nama depan URL yang memiliki apa pun selain angka, huruf, atau garis bawah di dalamnya. Itu juga memaksa nama depan untuk memiliki tiga karakter atau lebih.

Jumlah, huruf, dan batasan garis bawah masuk akal karena ID rute digunakan untuk membuat pegangan tata letak dan karakter " khusus " di sana dapat menyebabkan masalah. Namun, batas tiga karakter membingungkan.

Adakah yang tahu alasannya?


Mungkin ini karena validasi XSD yang ada.
Bhargav Mehta

2
@Bhargav Ya, tapi mengapa XSD dikonfigurasi seperti itu?
Alan Storm

Jawaban:


4

Alasannya adalah untuk menghindari deklarasi berantakan dengan pengidentifikasi terlalu pendek (sama seperti batasan variabel terlalu pendek dalam analisis gaya kode PHP).

Itu diterapkan ke beberapa jenis bidang. Nama depan rute tidak sengaja memiliki batasan ini. Itu akan diperbaiki


0

ubah hello-world sebagai hello_world

Karakter yang valid adalah alfabet, angka dan _


Ini sepertinya tidak menjawab pertanyaan?
Alan Storm

-2

2
Saya tidak tertarik dengan detail teknis tentang bagaimana pembatasan diterapkan, saya ingin tahu mengapa itu ada di tempat pertama.
Alan Storm
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.