从2.1 Magento引入Magento/Framework/Model/EntityManager
我在这里可能是错的,但是据我所知,它是替换Magento/Framework/Model/AbstractModel
通过继承实现功能并通过组合来解决此问题(仅供参考:https : //en.m.wikipedia.org/wiki/Composition_over_inheritance)
您可以在核心文件中找到一个示例:https : //github.com/magento/magento2/blob/59671558ecdab652b40db2d1a7c63d5b1dea0a92/app/code/Magento/Cms/Model/ResourceModel/Block.php
基本上,所有CRUD操作都在类中显式声明,然后推迟到EntityManager
该类。在2.1之前,父方法是通过继承调用的。
所以我的问题是:
EntityManager
2.1版之前的继承系统有什么好处?- 被简单地声明CRUD方法(如上面的例子)足以启动定制CRUD模块中实现它还是有更多?
1
这不是一个答案-但我可能会担心,使用EntityManager的好处之一是可能会注入存储库类型系统-在这种情况下,如果实体已被拉入数据库,则加载可能会在内存中发生,而不是访问数据库内存等
—
Navarr '16