Created

Embed URL

HTTPS clone URL

SSH clone URL

You can clone with HTTPS or SSH.

Download Gist

Transactional Service Proxy

View TxController.php
1 2 3 4 5 6 7 8 9
<?php
class TxController extends Controller
{
public function context($id)
{
return new TxProxy($this->get($id), $this->get('doctrine.orm.default_entity_manager'));
}
}
View TxController.php
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
<?php
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.