`Magento \ Framework \ Model \ OrchestratorPool` là gì?


7

Tôi tìm thấy trong di.xmlcác mô-đun danh mục này :

<type name="Magento\Framework\Model\OrchestratorPool">
    <arguments>
        <argument name="operations" xsi:type="array">
            <item name="default" xsi:type="array">
                <item name="read" xsi:type="object">Magento\Framework\Model\Operation\Read</item>
                <item name="create" xsi:type="object">Magento\Framework\Model\Operation\Write\Create</item>
                <item name="update" xsi:type="object">Magento\Framework\Model\Operation\Write\Update</item>
                <item name="delete" xsi:type="object">Magento\Framework\Model\Operation\Write\Delete</item>
            </item>
        </argument>
    </arguments>
</type>

Nó làm gì? nó có nghĩa là gì? Cái này được sử dụng ở đâu và để làm gì?

Câu trả lời:


6

Lớp này là một phần của khung lưu trữ cơ sở dữ liệu mới. Nó sẽ cho phép lưu các giao diện dữ liệu được triển khai theo cách tùy ý và cung cấp sự linh hoạt hơn, vì bạn sẽ không còn được yêu cầu làm cho mô hình của mình mở rộng Magento\Framework\Model\AbstractModel.

Tại thời điểm hiện tại đang được phát triển nhưng các phần của nó đã được giới thiệu cho một trong những tính năng chúng tôi đang làm việc. Chúng tôi không khuyên bạn nên bắt đầu sử dụng nó vì nó sẽ thay đổi đáng kể. Nhưng nó có thể là thú vị để xem.

Các lớp chính là Magento\Framework\Model\EntityManager. EntityManager sử dụng Magento\Framework\Model\OrchestratorPoolđể có được hoạt động cho thực thể, ví dụ Magento\Framework\Model\Operation\Write\Create. Hoạt động sử dụng các hành động khác nhau để thực hiện chức năng của nó. Một số hành động có thể được cấu hình để sử dụng trình xử lý, ví dụ Magento\Framework\Model\Entity\Action\CreateRelation.

Ngoài ra, xem cấu hình di cho Magento\Framework\Model\OrchestratorPool, Magento\Framework\Model\Entity\MetadataPoolMagento\Framework\Model\ResourceModel\Db\Relation\ActionPool.

Bạn có thể tìm thấy các ví dụ về việc sử dụng framework trong Magento\Cms\Model\ResourceModel\Page.

Hi vọng điêu nay co ich.


Tôi thừa nhận nó không có ý nghĩa 100% với tôi, nhưng nó là đủ để tôi bắt đầu. Cảm ơn. Một câu hỏi nhỏ. Vì OrchestratorPoollà chung và không chỉ là danh mục cụ thể, nên không nên khai báo trong câu hỏi của tôi trong một khác di.xml, không phải là một trong mô-đun danh mục?
Marius

Có, nó không nên có trong danh mục. Nó sẽ được chuyển sang mô-đun khác
Anton Kril

2
Lưu ý đến bản thân và tất cả: Trong M2.1, điều này đã được chuyển đến app/etc/di.xmlvà tên của các lớp hơi khác một chút: OrchestratorPoolbây giờ được gọi OperationPool.
Jisse Reitsma
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.