控制器操作以確保我的行動,以適當的事務處理,我發現自己在我的控制器,一遍又一遍的重複驗證碼:尋找@Transaction在Symfony2的
/**
* @Route("/complete", name = "authentication_complete")
*/
public function completeAction(Request $request)
{
$result = null;
try {
$this->getManager()->beginTransaction();
$result = $this->doCompleteAction($request);
$this->getManager()->flush();
$this->getManager()->commit();
} catch (\Exception $e) {
// @codeCoverageIgnoreStart
$this->getManager()->rollback();
throw $e;
// @codeCoverageIgnoreEnd
}
return $result;
}
public function doCompleteAction(Request $request)
{
// do whatever you action is suposed to do
return $response;
}
我想擁有的東西如@ManageTransaction
。這將進入行動的評論,並節省了我很多雙重代碼。在一個完美的世界裏,這也將以一種聰明的方式處理控制器轉發。
如果您瞭解Java EE,這將是類似容器管理的事務。
這是否有捆綁包(或其他很好的解決方案)?