我想在Symfony2中为Doctrine服务添加一些方法。我怎样才能做到这一点?我应该扩展一些课程并将其注册为服务吗?我更希望这项服务保持“学说”的名称。
答案 0 :(得分:1)
您必须扩展Symfony\Bundle\DoctrineBundle\Registry
类并添加自己的方法。
然后你所要做的就是在app / config / config.yml中定义一个名为“doctrine”的服务:
// app/config/config.yml
services:
doctrine:
class: MyDoctrineRegistry
arguments: [ @service_container ]
config.yml中定义的服务将在最后加载,因此它将覆盖默认值。
如果你想要更干净,你必须使用以下方法覆盖DependencyInjection / Extension中的服务:
$container->setAlias('doctrine', 'my_doctrine'); // my_doctrine is the name of you custom doctrine service
在最后一种情况下,您必须确保在核心捆绑后加载捆绑包。
答案 1 :(得分:0)
您可以为连接指定包装类,并在其中指定自定义方法。我以前使用它来扩展Doctrine的DBAL功能,它对我的用例非常有用。
详细信息: