重构&&多次冲洗()&&手动交易

时间:2014-05-28 09:01:17

标签: php symfony optimization transactions refactoring

我正在尝试在我的控制器中重构代码。

最后我有很多->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()

感谢您的帮助

0 个答案:

没有答案