ทำไมวีโอไอพี 2 จึงบังคับให้ URL เป็นอักขระ 3+ ตัว


9

ถ้าคุณพยายามที่จะสร้างโมดูลที่มีชื่อหน้าเหมือนhello-worldในวีโอไอพี 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,}'.

ดูเหมือนว่าวีโอไอพีไม่ต้องการชื่อหน้า URL ที่มีอะไรอื่นนอกจากตัวเลขตัวอักษรหรือขีดล่างในนั้น นอกจากนี้ยังบังคับให้ชื่อด้านหน้ามีอักขระสามตัวขึ้นไป

ข้อ จำกัด เกี่ยวกับตัวเลขตัวอักษรและขีดล่างเนื่องจากใช้ ID เส้นทางเพื่อสร้างตัวจัดการเลย์เอาต์และอักขระ " พิเศษ " ที่อาจทำให้เกิดปัญหา อย่างไรก็ตามการ จำกัด อักขระสามตัวนั้นทำให้เกิดความสับสน

ไม่มีใครรู้เหตุผลของเรื่องนี้?


อาจเป็นเพราะการตรวจสอบ XSD ที่มีอยู่
Bhargav Mehta

2
@Bhargav ใช่ แต่ทำไม XSD กำหนดค่าแบบนั้น
Alan Storm

คำตอบ:


4

เหตุผลก็เพื่อหลีกเลี่ยงการประกาศที่ยุ่งเหยิงด้วยตัวระบุที่สั้นเกินไป

มันถูกนำไปใช้กับหลายประเภทฟิลด์ ชื่อเส้นทางด้านหน้ามีข้อ จำกัด นี้โดยไม่ได้ตั้งใจ มันจะได้รับการแก้ไข


0

เปลี่ยนโลกสวัสดีเป็น hello_world

อักขระที่ถูกต้องคือตัวอักษรตัวเลขและ _


ดูเหมือนจะไม่ตอบคำถามใช่ไหม
Alan Storm

-2

2
ฉันไม่สนใจรายละเอียดทางเทคนิคเกี่ยวกับวิธีการใช้งานข้อ จำกัด ฉันต้องการทราบว่าทำไมถึงมีอยู่ในตอนแรก
Alan Storm
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.