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/AbstractModel
qui 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 EntityManager
classe. Avant 2.1, la méthode parent était appelée via l'héritage.
Mes questions sont donc:
- Quels sont les avantages du
EntityManager
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?
la source
Réponses:
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:
la source