Magento 2: Quy ước đặt tên kiểu ảo


10

Ngày: 1 tháng 6 năm 2015 (với bản chất thay đổi của Magento 2)

Trong Magento 2, bạn có thể định cấu hình "loại ảo" trong di.xmltệp cấu hình của mô-đun . Các loại ảo này cho phép bạn thay đổi các đối số của một phụ thuộc được chèn cụ thể.

Trong mã Magento 2 cốt lõi, dường như có hai quy ước đặt tên cho các loại ảo. Đầu tiên, một kiểu ảo có một tên xuất hiện giống hệt với tên lớp PHP thực.

#File: app/code/Magento/CatalogRule/etc/di.xml
<virtualType name="Magento\Catalog\Pricing\Price\Pool" ...

trong lần thứ hai, một chuỗi đơn giản, không có dấu gạch chéo ngược được sử dụng

#File: app/code/Magento/CatalogSearch/etc/di.xml
<virtualType name="advancedSearchFilterList" ...

Có sự khác biệt thực tế nào đối với hai quy ước đặt tên ở trên không? tức là tên bạn đã chọn virtualTypecó bất kỳ tác động nào đến hành vi của nó không, hay nó chỉ là một chuỗi duy nhất trên toàn cầu xác định loại để bạn có thể sử dụng nó sau này.


tốt cho các nhà phát triển học Magento2, điều này khá khó hiểu khi họ kiểm tra một đối số có tên lớp và thay vào đó là một loại ảo, tôi đoán cũng chỉ ra ở đây alanstorm.com/magento_2_object_manager_virtual_types
huzefam

Câu trả lời:


9

Tên của loại ảo chỉ là một chuỗi duy nhất trên toàn cầu. Không có sự khác biệt trong hành vi cho các loại ảo được đặt tên khác nhau. Chúng tôi không có quy ước đặt tên mạnh cho các loại ảo. Cá nhân tôi thích cách tiếp cận thứ hai vì nó rõ ràng rằng đây là loại ảo, không phải là một lớp thực sự.


1
Đây là một bài viết 1,5 yo, liệu các quy ước vẫn không có quy ước? Tôi nên sử dụng những gì tôi muốn cho các loại ảo, nhưng bạn vẫn khuyến khích tôi sử dụng phương pháp thứ hai? Hay bây giờ bạn có một tiêu chuẩn mới?
Marius
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.