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 была бы возможность возможного внедрения системы типов репозитория, где загрузка могла бы происходить в памяти, а не попадать в БД, если объект уже был извлечен в память и т. д.
Наварр

Ответы:


16

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

Идеи EntityManager:

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

Спасибо за то, что вы могли бы добавить в свой ответ причину, по которой вы не рекомендуете его использовать? (Незаконченная функция, глючит, другое?)
Рафаэль в Digital Pianism

1
Да, незаконченные фьючерсы, мы планируем сделать конфигурацию более декларативной
KAndy

4
Моар XML, МОАР! :)
nevvermind

Можем ли мы знать, в какую ожидаемую дату они закончат этот незаконченный фьючерс?
Тоан Нгуен

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