在每个请求结束时都可以调用Doctrine的flush吗?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在每个请求结束时都可以调用Doctrine的flush吗?相关的知识,希望对你有一定的参考价值。
根据我对Doctrine及其flush
命令的了解,实体管理器使用persist
方法建立了对实体的更改的集合,将更改传播到相关实体,同时建立了“持久查询”以供调用flush
时将提交数据库的那些更改。
如果我的理解是正确的,那么在每次请求结束时都具有某种应用程序挂钩(我的应用程序是ZF2应用程序,但可能是任何MVC应用程序)是否有意义? flush
是无论如何都会被使用的方式(我从未在文档或博客文章中看到过类似的内容)?
答案
取决于您的应用程序,在每个请求结束时调用flush()方法都不会有问题。但是我认为您必须将其视为事务,您应该在模型层(或取决于控制器)中控制事务,而不是作为挂钩。那不是交易的目的,对吧?您应该能够控制应用程序的每一笔交易,而不是只为所有事务进行一次交易。
以上是关于在每个请求结束时都可以调用Doctrine的flush吗?的主要内容,如果未能解决你的问题,请参考以下文章
在apache中-每次调用php文件时都会从磁盘读取它们吗?