Magento 2.1:エンティティマネージャーの使用


27

2.1からMagentoが導入されましたMagento/Framework/Model/EntityManager

私はここで間違っているかもしれませんが、私の理解から、Magento/Framework/Model/AbstractModel継承を介して機能を実装していたものを置き換え、構成を介してこれを解決することです(FYI:https : //en.m.wikipedia.org/wiki/Composition_over_inheritance

コアファイルでサンプルを入手できます:https : //github.com/magento/magento2/blob/59671558ecdab652b40db2d1a7c63d5b1dea0a92/app/code/Magento/Cms/Model/ResourceModel/Block.php

基本的に、すべてのCRUD操作はクラスで明示的に宣言され、クラスに委ねられEntityManagerます。2.1以前では、親メソッドは継承を介して呼び出されていました。

だから私の質問は:

  • EntityManager2.1以前の継承システムに比べて、どのような利点がありますか?
  • されるだけで十分(上記の例のように)CRUDメソッドを宣言すると、カスタムのCRUDモジュールでそれを実装を開始以上ありますか?

1
答えではありませんが、EntityManagerを使用する利点の1つは、リポジトリ型システムのインジェクションが可能になることです-エンティティがすでに引き込まれている場合、DBにアクセスするのではなく、メモリ内でロードが発生する可能性がありますメモリなど
ナバー

回答:


16

現在、未完成の機能であるため、エンティティにEntityManagerを使用することはお勧めしません。構成をより宣言的にする予定です。

EntityManagerのアイデアは次のとおりです。

  • インターフェイスによるデータエンティティの永続化を許可します(抽象クラ​​スから拡張する必要はありません)
  • 永続的な明示的拡張可能にする
  • モジュール性

そのおかげで、あなたはそれを使うことをお勧めしない理由をあなたの答えに加えることができますか?(未完成の機能、バギー、その他?)
デジタルピアニズムのラファエル

1
はい、未完成の先物、構成をより宣言的にする予定
です-KAndy

4
Moar XML、MOAR!:)
nevvermind

彼らがこの未完成の先物を終える予定日を知っていますか?
トアングエン

3
Magentoのバックログはコミュニティとパートナーのフィードバックに直接影響するため、タスクは優先順位を付けて優先順位を下げることができ、具体的なタスクがいつ完了するかは誰にもわかりません。
カンディ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.