Skip to content
Create a gist now

Instantly share code, notes, and snippets.

Embed URL


Subversion checkout URL

You can clone with
Download ZIP
Transactional Service Proxy
class TxController extends Controller
public function context($id)
return new TxProxy($this->get($id), $this->get('doctrine.orm.default_entity_manager'));
use Doctrine\ORM\EntityManager;
class TxProxy
private $service;
private $entityManager;
public function __construct($service, EntityManager $entityManager)
$this->service = $service;
$this->entityManager = $entityManager;
public function __call($method, $args)
$callback = array($this->service, $method);
return $this->entityManager->transactional(function() use ($callback, $args) {
return call_user_func_array($callback, $args);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Something went wrong with that request. Please try again.