Doctrine 实体管理器实例

Doctrine Entity Manager instances

我是 Doctrine Symfony 框架的新手,想了解实体管理器如何在多线程环境中工作。

我有一个名为 ProxyDelegator 的服务 class,每次调用服务方法时都会调用它。

app.ProxyDelegator:
    class: Acme\SampleBundle\Controller\ProxyDelegator
    arguments: [@doctrine.orm.entity_manager] 

这个class将接收如上传递的实体管理器并创建事务,然后它通过反射调用服务方法。这将帮助开发人员不必每次都处理事务管理。

因此流程将是控制器 -> ProxyDelegator(从实体管理器创建事务)-> 服务方法(使用反射从 ProxyDelegator 调用)。

我的问题是它会为每个新的客户请求创建新的实体管理器吗?如果不是我应该如何处理这种情况?

提前致谢。

据我所知,EntityManager 不是一个单例,所以,每次你调用它,你都会得到一个全新的。

如果您想自己尝试,只需打印出 spl_object_hash

的结果