`Magento \ Framework \ Model \ OrchestratorPool`とは何ですか?


7

私はこれをカタログモジュールdi.xmlから見つけました:

<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>

それは何をするためのものか?どういう意味ですか?これはどこで使用され、何のために使用されますか?

回答:


6

このクラスは、新しいデータベース永続化フレームワークの一部です。モデルを拡張する必要がなくなるため、任意の方法で実装されたデータインターフェイスを保存し、柔軟性を高めることができますMagento\Framework\Model\AbstractModel

現在、開発中のフレームワークですが、その一部は、私たちが取り組んでいる機能の1つとして導入されました。大幅に変更されるため、まだ使用しないことをお勧めします。しかし、見てみるのは興味深いかもしれません。

メインクラスはMagento\Framework\Model\EntityManagerです。EntityManagerはMagento\Framework\Model\OrchestratorPoolエンティティなどの操作を取得するために使用しますMagento\Framework\Model\Operation\Write\Create。操作では、さまざまなアクションを使用してその機能を実行します。たとえば、ハンドラを使用するように設定できるアクションもありますMagento\Framework\Model\Entity\Action\CreateRelation

また、のためのディ構成を参照してくださいMagento\Framework\Model\OrchestratorPoolMagento\Framework\Model\Entity\MetadataPoolMagento\Framework\Model\ResourceModel\Db\Relation\ActionPool

フレームワークの使用例はにありますMagento\Cms\Model\ResourceModel\Page

お役に立てれば。


まだ100%理にかなっているわけではないことは認めますが、これで十分です。ありがとう。小さな質問です。のでOrchestratorPool、一般的であり、特定のカタログを作成するだけでなく、私の問題の宣言は異なるに追加すべきではないdi.xml、ではないカタログモジュール内の1つの?
マリウス

はい、カタログに含めるべきではありません。それは別のモジュールに移動されます
アントンクリ

2
自分とすべてへの注意:M2.1ではこれが移動されapp/etc/di.xml、クラスの名前が少し異なります。OrchestratorPoolが呼び出されるようになりましたOperationPool
Jisse Reitsma 16
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.