Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Symfony2中将Doctrine2实体侦听器注册为服务_Symfony_Doctrine Orm - Fatal编程技术网

在Symfony2中将Doctrine2实体侦听器注册为服务

在Symfony2中将Doctrine2实体侦听器注册为服务,symfony,doctrine-orm,Symfony,Doctrine Orm,在上下文中,我使用Symfony 2.4和条令2.4 我目前正在尝试在doctrine实体侦听器中移动一些逻辑。现在,我刚刚使用了@EntityListeners注释,以便在实体上注册我的侦听器,因为它不需要外部依赖项。但是现在,我想通过Symfony2容器将服务注入到我的实体侦听器中。由于这个特性是非常新的,所以没有相关的文档解释它是否是第一种可能&第二种,如何实现 谢谢 这在原则2.4中是可能的,但要求您创建自己的实体侦听器解析器类 有关注册将容器(或我的示例中的ServiceManager

在上下文中,我使用Symfony 2.4和条令2.4

我目前正在尝试在doctrine实体侦听器中移动一些逻辑。现在,我刚刚使用了
@EntityListeners
注释,以便在实体上注册我的侦听器,因为它不需要外部依赖项。但是现在,我想通过Symfony2容器将服务注入到我的实体侦听器中。由于这个特性是非常新的,所以没有相关的文档解释它是否是第一种可能&第二种,如何实现


谢谢

这在原则2.4中是可能的,但要求您创建自己的实体侦听器解析器类

有关注册将容器(或我的示例中的ServiceManager)作为构造函数参数的自定义解析器的详细信息,请参阅

我没有在Symfony2容器中尝试过这一点,但我在Zend Framework 2中尝试过,其原理可能非常相似

ZF2的DoctrineORMModule通过使用ServiceManager调用MyEntityListenerResolver Factory,从而将ServiceManager注入MyEntityListenerResolver,使整个过程变得非常优雅。

请参阅以了解如何将实体侦听器注册为服务:

服务:
用户\u侦听器:
类:\UserListener
标签:
-{name:doctrine.orm.entity_listener}
-{name:doctrine.orm.entity\u侦听器,entity\u管理器:custom}

很抱歉,找不到有关2.4版条令的任何信息。它存在吗?条令2.4已经在一个月前发布了。不管怎样,我的要求是不被支持的。我在bug跟踪器上打开了一张罚单:这解释了我的解决方法(一个可能的解决方案)很高兴看到它被添加到了本机的条令中:)