Refactored the validator initializer
It can now be reused for all Doctrine projects, not only for the ORM.
This commit is contained in:
parent
c6063ecf6f
commit
ea2cf73715
@ -13,14 +13,13 @@ namespace Symfony\Bridge\Doctrine\Validator;
|
||||
|
||||
use Doctrine\Common\Persistence\ManagerRegistry;
|
||||
use Symfony\Component\Validator\ObjectInitializerInterface;
|
||||
use Doctrine\ORM\Proxy\Proxy;
|
||||
|
||||
/**
|
||||
* Automatically loads proxy object before validation.
|
||||
*
|
||||
* @author Fabien Potencier <fabien@symfony.com>
|
||||
*/
|
||||
class EntityInitializer implements ObjectInitializerInterface
|
||||
class DoctrineInitializer implements ObjectInitializerInterface
|
||||
{
|
||||
protected $registry;
|
||||
|
||||
@ -31,8 +30,9 @@ class EntityInitializer implements ObjectInitializerInterface
|
||||
|
||||
public function initialize($object)
|
||||
{
|
||||
if ($object instanceof Proxy) {
|
||||
$this->registry->getManagerForClass(get_class($object))->getUnitOfWork()->initializeObject($object);
|
||||
$manager = $this->registry->getManagerForClass(get_class($object));
|
||||
if (null !== $manager) {
|
||||
$manager->initializeObject($object);
|
||||
}
|
||||
}
|
||||
}
|
@ -34,7 +34,7 @@
|
||||
|
||||
<!-- validator -->
|
||||
<parameter key="doctrine.orm.validator.unique.class">Symfony\Bridge\Doctrine\Validator\Constraints\UniqueEntityValidator</parameter>
|
||||
<parameter key="doctrine.orm.validator_initializer.class">Symfony\Bridge\Doctrine\Validator\EntityInitializer</parameter>
|
||||
<parameter key="doctrine.orm.validator_initializer.class">Symfony\Bridge\Doctrine\Validator\DoctrineInitializer</parameter>
|
||||
</parameters>
|
||||
|
||||
<services>
|
||||
|
Reference in New Issue
Block a user