我想在Symfony2中添加一些方法给Doctrine服务。我怎样才能做到这一点?我是否应该扩展一些课程并将其注册为服务?我宁愿将服务留在“教条”名下。如何在Symfony2中扩展Doctrine服务?
1
A
回答
1
您必须扩展Symfony\Bundle\DoctrineBundle\Registry
类,并添加你自己的方法。
然后,所有你需要做的就是定义应用程序/配置/ config.yml例如一个服务名为“主义”:
// app/config/config.yml
services:
doctrine:
class: MyDoctrineRegistry
arguments: [ @service_container ]
在config.yml定义的服务会被加载最后,所以它将覆盖默认的一个。
如果你想更清洁,你必须使用重载的DependencyInjection /扩展服务:
$container->setAlias('doctrine', 'my_doctrine'); // my_doctrine is the name of you custom doctrine service
在最后这种情况下,你必须确保你的包被加载核心软件包之后。
0
您可以为连接指定包装类并指定其中的自定义方法。我之前用这个扩展了Doctrine的DBAL功能,它对我的用例非常有效。
详情点击这里:
+0
在这种情况下不需要,但我会在其他一些问题上使用此解决方案,谢谢。 – JohnM2 2012-03-11 13:05:04
+0
欢迎:) – 2012-03-11 17:30:59
相关问题
- 1. 如何在Symfony2中覆盖/扩展默认的Doctrine EntityManager类?
- 2. 在服务中使用Doctrine Symfony2
- 3. symfony2服务扩展了另一个类
- 4. 如何使用Doctrine扩展
- 5. Doctrine扩展名REGEXP不能在Symfony2中工作
- 6. 如何扩展服务
- 7. 如何访问Symfony2服务类中的Doctrine DBAL?
- 8. 从Symfony2的树枝扩展中使用帮助器服务
- 9. 如何在Symfony2中导入的参数文件中访问Doctrine服务?
- 10. 如何在Symfony2,doctrine 2中使用@SqlResultSetMapping?
- 11. 如何在symfony2中使用Doctrine AbstractType
- 12. 如何在symfony2中配置Doctrine?
- 13. Symfony2:Doctrine扩展Softdeleteable永久删除可翻译元素
- 14. 多对多的关系querybuilder doctrine和symfony2扩展查询
- 15. 扩展Angular2 +服务
- 16. 扩展Windows服务
- 17. 扩展OData服务
- 18. 在Doctrine实体中访问Symfony2服务层?
- 19. 如何以角度扩展$ http服务?
- 20. 如何扩展Node.js WebSocket Redis服务器?
- 21. 如何向扩展joomla提供服务?
- 22. 在Doctrine2/Symfony2中使用没有Doctrine分页符扩展的分页
- 23. 扩展一个Doctrine实体以在Symfony2中添加额外的关联映射
- 24. Doctrine 2的GIS扩展
- 25. 如何扩展/覆盖symfony2 form_row函数
- 26. 如何测试Symfony2 Bundle扩展:: load()?
- 27. Symfony2:如何扩展一个包?
- 28. 在OSGi扩展束中注册服务
- 29. 在Clojure中扩展Dropwizard服务类
- 30. 在grails中扩展插件服务
当我尝试上面的解决方案时,出现此错误“ErrorException:可捕获的致命错误:传递给Symfony \ Bundle \ DoctrineBundle \ Registry :: __ construct()的参数1必须实现接口Symfony \ Component \ DependencyInjection \ ContainerInterface ,没有给出“。这是因为Registry类需要多个参数。任何想法如何处理? – JohnM2 2012-03-12 16:06:56
是的,你的服务定义应该为你的构造函数提供参数,在这里它应该是“service_container”服务。查看更新后的帖子。 – Florian 2012-03-13 08:08:37
注册表类的构造函数有5个必需的参数:__construct(ContainerInterface $容器,数组$连接,数组$实体管理器,$ defaultConnection,$ defaultEntityManager) – JohnM2 2012-03-13 13:08:36