Skip to content
This repository has been archived by the owner on Jul 4, 2018. It is now read-only.

Commit

Permalink
removed deprecations for the validator provider
Browse files Browse the repository at this point in the history
  • Loading branch information
fabpot committed Jan 20, 2015
1 parent 29013a9 commit d1cd7c1
Show file tree
Hide file tree
Showing 2 changed files with 21 additions and 10 deletions.
29 changes: 20 additions & 9 deletions src/Silex/Provider/ValidatorServiceProvider.php
Expand Up @@ -14,10 +14,10 @@
use Silex\Application;
use Silex\ServiceProviderInterface;
use Silex\ConstraintValidatorFactory;
use Symfony\Component\Validator\Validator;
use Symfony\Component\Validator\DefaultTranslator;
use Symfony\Component\Validator\Mapping\ClassMetadataFactory;
use Symfony\Component\Validator\Mapping\Factory\LazyLoadingMetadataFactory;
use Symfony\Component\Validator\Mapping\Loader\StaticMethodLoader;
use Symfony\Component\Validator\Validation;

/**
* Symfony Validator component Provider.
Expand All @@ -37,16 +37,27 @@ public function register(Application $app)
}
}

return new Validator(
$app['validator.mapping.class_metadata_factory'],
$app['validator.validator_factory'],
isset($app['translator']) ? $app['translator'] : new DefaultTranslator(),
'validators',
$app['validator.object_initializers']
);
return $app['validator.builder']->getValidator();
});

$app['validator.builder'] = $app->share(function ($app) {
$builder = Validation::createValidatorBuilder();
$builder->setConstraintValidatorFactory($app['validator.validator_factory']);
$builder->setTranslationDomain('validators');
$builder->addObjectInitializers($app['validator.object_initializers']);
$builder->setMetadataFactory($app['validator.mapping.class_metadata_factory']);
if (isset($app['translator'])) {
$builder->setTranslator($app['translator']);
}

return $builder;
});

$app['validator.mapping.class_metadata_factory'] = $app->share(function ($app) {
if (class_exists('Symfony\Component\Validator\Mapping\Factory\LazyLoadingMetadataFactory')) {
return new LazyLoadingMetadataFactory(new StaticMethodLoader());
}

return new ClassMetadataFactory(new StaticMethodLoader());
});

Expand Down
Expand Up @@ -69,7 +69,7 @@ public function testConstraintValidatorFactory($app)
*/
public function testValidatorServiceIsAValidator($app)
{
$this->assertInstanceOf('Symfony\Component\Validator\Validator', $app['validator']);
$this->assertInstanceOf('Symfony\Component\Validator\ValidatorInterface', $app['validator']);
}

/**
Expand Down

0 comments on commit d1cd7c1

Please sign in to comment.