public function register(Application $app)
{
$app['validator'] = $app->share(function ($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']);
});
$app['validator.mapping.class_metadata_factory'] = $app->share(function ($app) {
return new ClassMetadataFactory(new StaticMethodLoader());
});
$app['validator.validator_factory'] = $app->share(function () use($app) {
$validators = isset($app['validator.validator_service_ids']) ? $app['validator.validator_service_ids'] : array();
return new ConstraintValidatorFactory($app, $validators);
});
$app['validator.object_initializers'] = $app->share(function ($app) {
return array();
});
}