Adds container managed transactoins for doctrine base persistenc in controller actions.
PHP
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
Annotation
DependencyInjection
EventListener
HttpKernel
Resources/config
Tests
.gitignore
PluessDoctrineTrxBundle.php
README.md
composer.json
composer.lock
phpunit.xml.dist

README.md

PluessDoctrineTrxBundle

Adds container managed transactions for doctrine base persistence in controller actions.

#Usage

All you need to do to get an action covered by a transaction, is to add the annotation:

<?php

use Pluess\DoctrineTrxBundle\Annotation\DoctrineTrx as ContainerTransaction;

use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;

use Symfony\Bundle\FrameworkBundle\Controller\Controller;

use Symfony\Component\HttpFoundation\Request;

/**
 * @Route("/my_route")
 */
class MyController extends Controller
{

    /**
     * @Route("/do-something", name = "do_something")
     * @ContainerTransaction
     */
    public function applyAction(Request $request)
    {
    	$em = $this->getDoctrine()->getManager()
    	
    	// Do whatever you want to do via doctrine.
    	// The annotation makes sure it's properly covered by a transaction.
    }
    
}

#Installation

  1. Add this to your composer.json and do a composer update:

    "pluess/doctrine-trx-bundle": "dev-master"
    
  2. Add this line to your AppKernel.php:

    new Pluess\DoctrineTrxBundle\PluessDoctrineTrxBundle()
    

#Credits

There are a lot of people I'm learning from. The main learnings for this bundle are coming from

#Support Feel free to open issues if you have problems with the bundle.