Magento 2.1: korzystanie z menedżera encji


27

Od 2.1 Magento wprowadziłoMagento/Framework/Model/EntityManager

Mogę się tutaj mylić, ale z mojego zrozumienia wynika, że ​​zastąpiłem Magento/Framework/Model/AbstractModelimplementację funkcji poprzez dziedziczenie i rozwiązałem ją poprzez kompozycję (FYI: https://en.m.wikipedia.org/wiki/Composition_over_inheritance )

Możesz znaleźć przykład tutaj w podstawowych plikach: https://github.com/magento/magento2/blob/59671558ecdab652b40db2d1a7c63d5b1dea0a92/app/code/Magento/Cms/Model/ResourceModel/Block.php

Zasadniczo wszystkie operacje CRUD są jawnie zadeklarowane w klasie i odroczone do EntityManagerklasy. Przed 2.1 metoda nadrzędna była wywoływana przez dziedziczenie.

Więc moje pytania to:

  • Jakie są zaletyEntityManager systemu dziedziczenia wcześniejszego niż 2.1?
  • czy po prostu deklarowanie metod CRUD (jak w powyższym przykładzie) jest wystarczające, aby rozpocząć implementację w niestandardowym module CRUD, czy jest ich więcej?

1
Nie odpowiedź - ale zaryzykowałbym jedną z korzyści korzystania z EntityManager byłaby możliwość ewentualnego wstrzyknięcia systemu typu Repozytorium - w którym ładowanie mogłoby się zdarzyć w pamięci zamiast uderzać w DB, jeśli jednostka została już wciągnięta do pamięć itp.
Navarr,

Odpowiedzi:


16

Obecnie nie zalecamy używania EntityManager dla twoich encji, ponieważ jest to niedokończona funkcja i planujemy uczynić konfigurację bardziej deklaratywną.

Pomysły EntityManager to:

  • zezwalaj na trwałą jednostkę danych przez interfejs (nie ma potrzeby rozszerzania klas abstrakcyjnych)
  • uczynić trwałe wyraźne rozszerzalne
  • modułowość

Dzięki za to, czy mógłbyś dodać do swojej odpowiedzi powód, dla którego nie zalecasz jej używania? (Niedokończona funkcja, buggy, inne?)
Raphael w Digital Pianism,

1
Tak, niedokończone kontrakty, planujemy uczynić konfigurację bardziej deklaratywną
KAndy

4
Moar XML, MOAR! :)
nevvermind

Czy moglibyśmy wiedzieć, jaka jest przewidywana data, kiedy skończą tę niedokończoną przyszłość?
Toan Nguyen,

3
Ponieważ zaległości Magento, na które bezpośrednio wpływa opinia społeczności i partnerów, każde zadanie może mieć priorytet i zostać zdepriorytetyzowane i nikt nie wie, kiedy konkretne zadanie zostanie ukończone, zanim zostanie wykonane i opublikowane.
KAndy,
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.