Magento 2.1: usando o gerenciador de entidades

27

De 2.1 Magento introduziuMagento/Framework/Model/EntityManager

Posso estar errado aqui, mas, pelo meu entendimento, é substituir o Magento/Framework/Model/AbstractModelque estava implementando o recurso por herança e resolvê-lo por composição (FYI: https://en.m.wikipedia.org/wiki/Composition_over_inheritance )

Você pode obter um exemplo aqui nos arquivos principais: https://github.com/magento/magento2/blob/59671558ecdab652b40db2d1a7c63d5b1dea0a92/app/code/Magento/Cms/Model/ResourceModel/Block.php

Basicamente, todas as operações CRUD são declaradas explicitamente na classe e adiadas para a EntityManagerclasse. Antes da versão 2.1, o método pai era chamado por herança.

Então, minhas perguntas são:

  • Quais são os benefícios doEntityManager sistema de herança acima do pré-2.1?
  • está simplesmente declarando os métodos CRUD (como o exemplo acima) o suficiente para começar a implementá-lo em um módulo CRUD personalizado ou há mais?
Raphael na Digital Pianism
fonte
11
Não é uma resposta - mas eu arriscaria um dos benefícios de usar um EntityManager seria a capacidade de uma possível injeção de um sistema do tipo Repositório - onde o carregamento pode ocorrer na memória, em vez de atingir o banco de dados se a entidade já tiver sido puxada para dentro memória, etc.
Navarr

Respostas:

16

Atualmente, não recomendamos o uso do EntityManager para suas entidades, pois é um recurso inacabado e planejamos tornar a configuração mais declarativa.

As idéias do EntityManager são:

  • permite persistir Entidade de Dados pela interface (não é necessário estender-se das classes abstratas)
  • tornar extensível explícito persistente
  • modularidade
KAndy
fonte
Obrigado por isso, você poderia adicionar à sua resposta o motivo pelo qual você não recomenda usá-lo? (Recurso Unfinished, carrinho, outros?)
Raphael em Digital pianismo
11
Sim, os futuros inacabadas, pretendemos tornar a configuração mais declarativo
Kandy
4
Moar XMLs, MOAR! :)
nevvermind
Poderíamos saber qual é a data prevista para que eles terminem esse futuro inacabado?
Toan Nguyen
3
Como o backlog do Magento diretamente afetado pelo feedback da comunidade e dos parceiros, qualquer tarefa pode ser priorizada e despriorizada e ninguém sabe quando uma tarefa concreta será concluída, antes que ela seja concluída e publicada.
precisa saber é