我是 Doctrine Symfony 框架的新手,想了解实体管理器在多线程环境中如何工作。
我有一个名为 ProxyDelegator 的服务类,每次调用服务方法时都会调用该服务类。
app.ProxyDelegator:
class: Acme\SampleBundle\Controller\ProxyDelegator
arguments: [@doctrine.orm.entity_manager]
此类将接收如上所述传递的实体管理器并创建事务,然后通过反射调用服务方法。这将帮助开发人员不必每次都处理事务管理。
因此流程将是 Controller ->
ProxyDelegator
(从实体管理器创建事务) ->
服务方法(从 调用) ProxyDelegator
使用反射)。
我的问题是它会为每个新的客户端请求创建新的实体管理器吗?如果不是,我该如何处理这种情况?
提前致谢。
最佳答案
据我所知,EntityManager
不是单例,因此每次调用它时,您都会得到一个全新的。
如果你想自己尝试一下,只需打印 spl_object_hash
的结果即可
关于symfony - Doctrine 实体管理器实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32062796/