【发布时间】:2016-09-20 10:01:31
【问题描述】:
一开始,我使用的是存储库。
但是,在 github 上进行了一些代码审查之后,我对使用 ObjectManager 很感兴趣(以减轻控制器的负担,也出于好奇 ^^)。
问题是我没有看到一些关于它的好教程。甚至我看到的教程都是通过对象管理器初始化服务,而不是创建服务。
在 FriendsOfSymfony github 中,我们可以看到一个示例,但我不太了解如何初始化服务。当我像这样初始化我的管理器服务时,出现此错误“无法实例化接口 Doctrine\Common\Persistence\ObjectManager”:
<?xml version="1.0" ?>
http://symfony.com/schema/dic/services/services-1.0.xsd">
<parameters>
<parameter key="md_mechanical.entity.enginemanager.class">MD\MechanicalBundle\Entity\EngineManager</parameter>
</parameters>
<services>
<service id="md_mechanical.enginemanager.default" class="%md_mechanical.entity.enginemanager.class%">
<argument type="service" id="md_mechanical.object_manager" />
<argument>%md_engine.engine.class%</argument>
</service>
<!-- The factory is configured in the DI extension class to support more Symfony versions -->
<service id="md_mechanical.object_manager" class="Doctrine\Common\Persistence\ObjectManager">
<argument>%fos_user.model_manager_name%</argument>
</service>
</services>
提前感谢您的帮助
【问题讨论】: