Desde 2.1 Magento ha introducidoMagento/Framework/Model/EntityManager
Puedo estar equivocado aquí, pero según tengo entendido, es reemplazar lo Magento/Framework/Model/AbstractModel
que estaba implementando la característica a través de la herencia y resolver esto a través de la composición (FYI: https://en.m.wikipedia.org/wiki/Composition_over_inheritance )
Puede obtener un ejemplo aquí en los archivos principales: https://github.com/magento/magento2/blob/59671558ecdab652b40db2d1a7c63d5b1dea0a92/app/code/Magento/Cms/Model/ResourceModel/Block.php
Básicamente, todas las operaciones CRUD se declaran explícitamente en la clase y se difieren a la EntityManager
clase. Antes de 2.1, el método padre se llamaba por herencia.
Entonces mis preguntas son:
- ¿Cuáles son los beneficios del
EntityManager
sistema de herencia anterior al 2.1? - es simplemente declarar los métodos CRUD (como el ejemplo anterior) lo suficiente como para comenzar a implementarlo en un módulo CRUD personalizado o ¿hay más?
magento2
magento-2.1
crud
entity-manager
Raphael en Digital Pianism
fuente
fuente
Respuestas:
Actualmente, no recomendamos utilizar EntityManager para sus entidades, ya que es una característica inacabada y planeamos hacer que la configuración sea más declarativa.
Las ideas de EntityManager son:
fuente