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, батьківський метод викликався через успадкування.

Тому мої запитання:

  • які перевагиEntityManager над системою успадкування до 2.1?
  • це просто оголосити методи CRUD (як в прикладі вище) стільки , щоб почати її реалізацію в призначеному для користувача модулі CRUD або є ще?

1
Не відповідь - але я загрожую однією з переваг використання EntityManager - це можливість можливої ​​ін'єкції системи типу Репозиторію - де завантаження може відбутися в пам'яті, а не потрапляння в БД, якщо сутність вже втягнута в пам’яті тощо
Navarr

Відповіді:


16

Наразі ми не рекомендуємо використовувати EntityManager для ваших організацій, оскільки це незакінчена функція, і ми плануємо зробити конфігурацію більш декларативною.

Ідеї ​​EntityManager:

  • дозволити збереження даних Entity за допомогою інтерфейсу (не потрібно поширюватися на абстрактні класи)
  • зробити стійкі явні розширювані
  • модульність

Дякую за це, чи можете ви додати у відповідь причину, чому ви не рекомендуєте її використовувати? (Незакінчена функція, баггі, інші?)
Рафаель у Digital Pianism

1
Так, незавершені ф'ючерси ми плануємо зробити конфігурацію більш декларативною
KAndy,

4
Примкніть XML, MOAR! :)
nevvermind

Чи могли б ми знати, якою очікуваною датою вони закінчать це незавершене майбутнє?
Toan Nguyen

3
Оскільки відставання від Magento, на яке безпосередньо впливають відгуки громади та партнерів, будь-яке завдання може бути визначено пріоритетним та депріоритизованим, і ніхто не знає, коли конкретна задача буде завершена, перш ніж вона буде виконана та опублікована.
Кенді
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.