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
{
$name = $constraint->validatedBy();
if (!isset($this->validators[$name])) {
if (!in_array($name, $this->validators)) {
$this->validators[$name] = new $name();
} elseif (is_string($this->validators[$name])) {
$this->validators[$name] = $this->container[$this->validators[$name]];
} else {
$this->validators[$name] = $this->container[$name];
}
return $this->validators[$name];
......
......@@ -19,7 +19,6 @@ use Symfony\Component\Validator\Validator;
use Symfony\Component\Validator\DefaultTranslator;
use Symfony\Component\Validator\Mapping\ClassMetadataFactory;
use Symfony\Component\Validator\Mapping\Loader\StaticMethodLoader;
use Symfony\Component\Validator\ConstraintValidatorFactory as BaseConstraintValidatorFactory;
/**
* Symfony Validator component Provider.
......@@ -30,7 +29,7 @@ class ValidatorServiceProvider implements ServiceProviderInterface
{
public function register(Application $app)
{
$app['validator'] = $app->share(function($app) {
$app['validator'] = $app->share(function ($app) {
$r = new \ReflectionClass('Symfony\Component\Validator\Validator');
if (isset($app['translator'])) {
......@@ -60,15 +59,13 @@ class ValidatorServiceProvider implements ServiceProviderInterface
});
$app['validator.validator_factory'] = $app->share(function() use ($app) {
$validators = array();
if (isset($app['validator.validator_service_ids'])) {
$validators = array();
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
$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
*/
......
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