Tại sao Magento 2 buộc URL phải có hơn 3 ký tự


9

Nếu bạn cố gắng tạo một mô-đun có tên trước như hello-worldtrong Magento 2, bạn sẽ gặp một lỗi giống như thế này .

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

Có vẻ như Magento không muốn tên trước URL có bất cứ thứ gì ngoài số, chữ cái hoặc dấu gạch dưới trong đó. Nó cũng buộc các tên trước phải có ba hoặc nhiều ký tự.

Số lượng, chữ cái và giới hạn gạch dưới có ý nghĩa vì ID tuyến đường được sử dụng để tạo tay cầm bố cục và các ký tự " đặc biệt " có thể gây ra sự cố. Tuy nhiên, giới hạn ba ký tự là khó hiểu.

Có ai biết lý do cho việc này?


Có lẽ điều này là do các xác nhận XSD được đưa ra.
Bhargav Mehta

2
@Bhargav Có, nhưng tại sao XSD được cấu hình theo cách đó?
Alan Storm

Câu trả lời:


4

Lý do là để tránh các khai báo lộn xộn với các định danh quá ngắn (giống như các giới hạn biến quá ngắn trong các máy phân tích kiểu mã PHP).

Nó được áp dụng cho nhiều loại trường. Tên tuyến đường có giới hạn này do nhầm lẫn. Nó sẽ được sửa


0

thay đổi thế giới hello là hello_world

Các ký tự hợp lệ là bảng chữ cái, số và _


Điều này dường như không trả lời câu hỏi?
Alan Storm

-2

2
Tôi không quan tâm đến các chi tiết kỹ thuật về cách thức giới hạn được thực hiện, tôi muốn biết tại sao nó lại ở đó ngay từ đầu.
Alan Storm
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.