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
的结果
我是 Doctrine Symfony 框架的新手,想了解实体管理器如何在多线程环境中工作。
我有一个名为 ProxyDelegator
的服务 class,每次调用服务方法时都会调用它。
app.ProxyDelegator:
class: Acme\SampleBundle\Controller\ProxyDelegator
arguments: [@doctrine.orm.entity_manager]
这个class将接收如上传递的实体管理器并创建事务,然后它通过反射调用服务方法。这将帮助开发人员不必每次都处理事务管理。
因此流程将是控制器 ->
ProxyDelegator
(从实体管理器创建事务)->
服务方法(使用反射从 ProxyDelegator
调用)。
我的问题是它会为每个新的客户请求创建新的实体管理器吗?如果不是我应该如何处理这种情况?
提前致谢。
据我所知,EntityManager
不是一个单例,所以,每次你调用它,你都会得到一个全新的。
如果您想自己尝试,只需打印出 spl_object_hash