Magento 2.1: Verwenden des Entity Managers

27

Ab 2.1 hat Magento eingeführtMagento/Framework/Model/EntityManager

Ich kann mich hier irren, aber nach meinem Verständnis ist es zu ersetzen, Magento/Framework/Model/AbstractModelwelche Funktion über die Vererbung implementiert wurde, und dies über die Komposition zu lösen (zu Ihrer Information: https://en.m.wikipedia.org/wiki/Composition_over_inheritance )

Ein Beispiel finden Sie hier in den Core-Dateien: https://github.com/magento/magento2/blob/59671558ecdab652b40db2d1a7c63d5b1dea0a92/app/code/Magento/Cms/Model/ResourceModel/Block.php

Grundsätzlich werden alle CRUD-Operationen explizit in der Klasse deklariert und auf die Klasse verschoben EntityManager. Vor 2.1 wurde die übergeordnete Methode über die Vererbung aufgerufen.

Meine Fragen sind also:

  • Was sind die Vorteile desEntityManager Vererbungssystems vor 2.1?
  • ist einfach die CRUD Methoden zu erklären (wie im Beispiel oben) genug zu beginnen , es in einem benutzerdefinierten CRUD - Modul realisiert oder ist es mehr?
Raphael bei Digital Pianism
quelle
1
Keine Antwort - aber ich würde riskieren, dass einer der Vorteile der Verwendung eines EntityManagers die Möglichkeit einer möglichen Injizierung eines Repository-Typ-Systems ist - wo das Laden im Arbeitsspeicher stattfinden kann, anstatt die Datenbank zu treffen, in die die Entität bereits gezogen wurde Erinnerung usw.
Navarr

Antworten:

16

Derzeit wird die Verwendung von EntityManager für Ihre Entitäten nicht empfohlen, da es sich um eine nicht abgeschlossene Funktion handelt, und wir planen, die Konfiguration deklarativer zu gestalten.

Ideen von EntityManager sind:

  • Erlaube persistente Datenentität durch die Schnittstelle (keine Notwendigkeit, sich von abstrakten Klassen zu erstrecken)
  • mach persistent explizit erweiterbar
  • Modularität
KAndy
quelle
Vielen Dank, können Sie Ihrer Antwort den Grund hinzufügen, warum Sie die Verwendung nicht empfehlen? (Unvollendete Feature, Buggy, andere?)
Raphael bei Digital Pianism
1
Ja, unvollendete Zukünfte, wir planen, die Konfiguration
aussagekräftiger
4
Moar XMLs, MOAR! :)
nevvermind
Könnten wir wissen, wann sie diese unvollendeten Futures abschließen werden?
Toan Nguyen
3
Da der Magento-Rückstand direkt vom Feedback der Community und der Partner beeinflusst wird, kann jede Aufgabe priorisiert und entpriorisiert werden und niemand weiß, wann die konkrete Aufgabe abgeschlossen sein wird, bevor sie erledigt und veröffentlicht wird.
KAndy