Magento 2.1: utiliser le gestionnaire d'entités


27

Depuis 2.1 Magento a introduitMagento/Framework/Model/EntityManager

Je peux me tromper ici, mais d'après ce que je comprends, il s'agit de remplacer celui Magento/Framework/Model/AbstractModelqui implémentait la fonctionnalité via l'héritage et de résoudre ce problème via la composition (FYI: https://en.m.wikipedia.org/wiki/Composition_over_inheritance )

Vous pouvez obtenir un exemple ici dans les fichiers de base: https://github.com/magento/magento2/blob/59671558ecdab652b40db2d1a7c63d5b1dea0a92/app/code/Magento/Cms/Model/ResourceModel/Block.php

Fondamentalement, toutes les opérations CRUD sont explicitement déclarées dans la classe et reportées à la EntityManagerclasse. Avant 2.1, la méthode parent était appelée via l'héritage.

Mes questions sont donc:

  • Quels sont les avantages duEntityManager système d'héritage antérieur à 2.1?
  • La déclaration des méthodes CRUD (comme l'exemple ci-dessus) suffit- elle simplement pour commencer à l'implémenter dans un module CRUD personnalisé ou y en a-t-il d'autres?

1
Pas une réponse - mais je risquerais que l'un des avantages de l'utilisation d'un EntityManager soit la possibilité d'une injection possible d'un système de type référentiel - où le chargement pourrait se produire en mémoire plutôt que de frapper la base de données si l'entité avait déjà été entraînée dans mémoire, etc.
Navarr

Réponses:


16

Actuellement, nous ne recommandons pas d'utiliser EntityManager pour vos entités car c'est une fonctionnalité inachevée et nous prévoyons de rendre la configuration plus déclarative.

Les idées d'EntityManager sont:

  • autoriser la persistance de l'entité de données par l'interface (pas besoin d'étendre les classes abstraites)
  • rendre extensible explicite persistant
  • modularité

Merci pour cela pourriez-vous ajouter à votre réponse la raison pour laquelle vous ne recommandez pas de l'utiliser? (Fonctionnalité inachevée, buggy, autre?)
Raphael au Digital Pianism

1
Oui, contrats à terme inachevés, nous prévoyons de rendre la configuration plus déclarative
KAndy

4
XML Moar, MOAR! :)
nevvermind

Pourrions-nous savoir quelle est la date prévue pour qu'ils achèvent ce futur inachevé?
Toan Nguyen

3
Étant donné que le backlog de Magento est directement affecté par les commentaires de la communauté et des partenaires, toute tâche peut être hiérarchisée et priorisée et personne ne sait quand la tâche concrète sera terminée, avant qu'elle ne soit terminée et publiée.
KAndy
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.