Commit 77af56be authored by alexkappa's avatar alexkappa

Removed Symfony\Component\Validator\ConstraintValidatorFactory altogether from...

Removed Symfony\Component\Validator\ConstraintValidatorFactory altogether from ValidatorServiceProvider. Custom validators are now lazy loaded. removed obsolete test.
parent 423138aa
...@@ -49,10 +49,10 @@ class ConstraintValidatorFactory implements ConstraintValidatorFactoryInterface ...@@ -49,10 +49,10 @@ class ConstraintValidatorFactory implements ConstraintValidatorFactoryInterface
{ {
$name = $constraint->validatedBy(); $name = $constraint->validatedBy();
if (!isset($this->validators[$name])) { if (!in_array($name, $this->validators)) {
$this->validators[$name] = new $name(); $this->validators[$name] = new $name();
} elseif (is_string($this->validators[$name])) { } else {
$this->validators[$name] = $this->container[$this->validators[$name]]; $this->validators[$name] = $this->container[$name];
} }
return $this->validators[$name]; return $this->validators[$name];
......
...@@ -19,7 +19,6 @@ use Symfony\Component\Validator\Validator; ...@@ -19,7 +19,6 @@ use Symfony\Component\Validator\Validator;
use Symfony\Component\Validator\DefaultTranslator; use Symfony\Component\Validator\DefaultTranslator;
use Symfony\Component\Validator\Mapping\ClassMetadataFactory; use Symfony\Component\Validator\Mapping\ClassMetadataFactory;
use Symfony\Component\Validator\Mapping\Loader\StaticMethodLoader; use Symfony\Component\Validator\Mapping\Loader\StaticMethodLoader;
use Symfony\Component\Validator\ConstraintValidatorFactory as BaseConstraintValidatorFactory;
/** /**
* Symfony Validator component Provider. * Symfony Validator component Provider.
...@@ -30,7 +29,7 @@ class ValidatorServiceProvider implements ServiceProviderInterface ...@@ -30,7 +29,7 @@ class ValidatorServiceProvider implements ServiceProviderInterface
{ {
public function register(Application $app) public function register(Application $app)
{ {
$app['validator'] = $app->share(function($app) { $app['validator'] = $app->share(function ($app) {
$r = new \ReflectionClass('Symfony\Component\Validator\Validator'); $r = new \ReflectionClass('Symfony\Component\Validator\Validator');
if (isset($app['translator'])) { if (isset($app['translator'])) {
...@@ -60,15 +59,13 @@ class ValidatorServiceProvider implements ServiceProviderInterface ...@@ -60,15 +59,13 @@ class ValidatorServiceProvider implements ServiceProviderInterface
}); });
$app['validator.validator_factory'] = $app->share(function() use ($app) { $app['validator.validator_factory'] = $app->share(function() use ($app) {
if (isset($app['validator.validator_service_ids'])) {
$validators = array(); $validators = array();
if (isset($app['validator.validator_service_ids'])) {
foreach ($app['validator.validator_service_ids'] as $service) { foreach ($app['validator.validator_service_ids'] as $service) {
$validators[] = $app[$service]; $validators[] = $service;
} }
return new ConstraintValidatorFactory($app, $validators);
} else {
return new BaseConstraintValidatorFactory();
} }
return new ConstraintValidatorFactory($app, $validators);
}); });
} }
......
...@@ -65,14 +65,6 @@ class ValidatorServiceProviderTest extends \PHPUnit_Framework_TestCase ...@@ -65,14 +65,6 @@ class ValidatorServiceProviderTest extends \PHPUnit_Framework_TestCase
$this->assertInstanceOf('Silex\ConstraintValidatorFactory', $app['validator.validator_factory']); $this->assertInstanceOf('Silex\ConstraintValidatorFactory', $app['validator.validator_factory']);
} }
/**
* @depends testRegister
*/
public function testSymfonyConstraintValidatorFactory($app)
{
$this->assertInstanceOf('Symfony\Component\Validator\ConstraintValidatorFactory', $app['validator.validator_factory']);
}
/** /**
* @depends testRegister * @depends testRegister
*/ */
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment