Magento 2.1: utilizzo del gestore entità


27

Dal 2.1 Magento ha introdottoMagento/Framework/Model/EntityManager

Potrei sbagliarmi qui, ma dalla mia comprensione è sostituire quello Magento/Framework/Model/AbstractModelche stava implementando la funzionalità tramite ereditarietà e risolverlo tramite composizione (FYI: https://en.m.wikipedia.org/wiki/Composition_over_inheritance )

Puoi ottenere un esempio qui nei file core: https://github.com/magento/magento2/blob/59671558ecdab652b40db2d1a7c63d5b1dea0a92/app/code/Magento/Cms/Model/ResourceModel/Block.php

Fondamentalmente tutte le operazioni CRUD sono dichiarate esplicitamente nella classe e rinviate alla EntityManagerclasse. Prima della 2.1, il metodo parent era chiamato tramite ereditarietà.

Quindi le mie domande sono:

  • quali sono i vantaggi delEntityManager sistema di eredità pre 2.1?
  • sta semplicemente dichiarando i metodi CRUD (come nell'esempio sopra) abbastanza per iniziare a implementarlo in un modulo CRUD personalizzato o c'è di più?

1
Non una risposta - ma rischierei uno dei vantaggi dell'utilizzo di un EntityManager sarebbe la possibilità di una possibile iniezione di un sistema di tipo Repository - in cui il caricamento potrebbe avvenire in memoria anziché colpire il DB se l'entità fosse già stata inserita memoria, ecc.
Navarr,

Risposte:


16

Attualmente, non è consigliabile utilizzare EntityManager per le entità in quanto è una funzione incompiuta e prevediamo di rendere la configurazione più dichiarativa.

Le idee di EntityManager sono:

  • consentire persistente Entità dei dati dall'interfaccia (non è necessario estendere da classi astratte)
  • rendere estensibile esplicito persistente
  • modularità

Grazie per questo potresti aggiungere alla tua risposta il motivo per cui non mi consiglia di usarlo? (Lungometraggio incompiuto, buggy, altro?)
Raffaello al Pianismo digitale il

1
Sì, futures incompiuti, prevediamo di rendere la configurazione più dichiarativa
KAndy,

4
Moar XMLs, MOAR! :)
nevvermind,

Potremmo sapere qual è la data prevista per finire questo futuro incompiuto?
Toan Nguyen,

3
Poiché il backlog di Magento è direttamente influenzato dal feedback della community e dei partner, qualsiasi attività può essere prioritaria e deprioritizzata e nessuno sa quando sarà completata l'attività concreta, prima che venga eseguita e pubblicata.
KAndy,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.