我正在尝试在我的控制器中重构代码。
最后我有很多->persist()
和一个->flush()
的治疗方法。
这很好,但我想在功能中重构我所有的治疗方法,以便在其他情况下更加灵活和重用。
在我的不同功能中,我必须->flush()
来写。 (在其他情况下重复使用)
我知道在治疗结束时冲洗更好。
但如果我使用这样的手动交易:
$em->getConnection()->beginTransaction();
try {
$this->function1();
$this->function2();
$this->function3();
$em->getConnection()->commit();
} catch (\Exception $e) {
$em->getConnection()->rollback();
$em->close();
//écriture de l'exception ans les logs
throw $e;
}
function function1(){
....
$em->persist($object1);
$em->flush();
}
function function2(){
....
$em->persist($object2);
$em->flush();
}
function function3(){
....
$em->persist($object3);
$em->flush();
}
是否优化并在结尾发送一次,例如一个->flush()
?
感谢您的帮助