vendor/symfony/framework-bundle/Resources/config/web.php line 35

Open in your IDE?
  1. <?php
  2. /*
  3.  * This file is part of the Symfony package.
  4.  *
  5.  * (c) Fabien Potencier <fabien@symfony.com>
  6.  *
  7.  * For the full copyright and license information, please view the LICENSE
  8.  * file that was distributed with this source code.
  9.  */
  10. namespace Symfony\Component\DependencyInjection\Loader\Configurator;
  11. use Symfony\Bundle\FrameworkBundle\Controller\ControllerResolver;
  12. use Symfony\Component\HttpKernel\Controller\ArgumentResolver;
  13. use Symfony\Component\HttpKernel\Controller\ArgumentResolver\BackedEnumValueResolver;
  14. use Symfony\Component\HttpKernel\Controller\ArgumentResolver\DateTimeValueResolver;
  15. use Symfony\Component\HttpKernel\Controller\ArgumentResolver\DefaultValueResolver;
  16. use Symfony\Component\HttpKernel\Controller\ArgumentResolver\RequestAttributeValueResolver;
  17. use Symfony\Component\HttpKernel\Controller\ArgumentResolver\RequestValueResolver;
  18. use Symfony\Component\HttpKernel\Controller\ArgumentResolver\ServiceValueResolver;
  19. use Symfony\Component\HttpKernel\Controller\ArgumentResolver\SessionValueResolver;
  20. use Symfony\Component\HttpKernel\Controller\ArgumentResolver\UidValueResolver;
  21. use Symfony\Component\HttpKernel\Controller\ArgumentResolver\VariadicValueResolver;
  22. use Symfony\Component\HttpKernel\Controller\ErrorController;
  23. use Symfony\Component\HttpKernel\ControllerMetadata\ArgumentMetadataFactory;
  24. use Symfony\Component\HttpKernel\EventListener\DisallowRobotsIndexingListener;
  25. use Symfony\Component\HttpKernel\EventListener\ErrorListener;
  26. use Symfony\Component\HttpKernel\EventListener\LocaleListener;
  27. use Symfony\Component\HttpKernel\EventListener\ResponseListener;
  28. use Symfony\Component\HttpKernel\EventListener\ValidateRequestListener;
  29. return static function (ContainerConfigurator $container) {
  30.     $container->services()
  31.         ->set('controller_resolver'ControllerResolver::class)
  32.             ->args([
  33.                 service('service_container'),
  34.                 service('logger')->ignoreOnInvalid(),
  35.             ])
  36.             ->tag('monolog.logger', ['channel' => 'request'])
  37.         ->set('argument_metadata_factory'ArgumentMetadataFactory::class)
  38.         ->set('argument_resolver'ArgumentResolver::class)
  39.             ->args([
  40.                 service('argument_metadata_factory'),
  41.                 abstract_arg('argument value resolvers'),
  42.             ])
  43.         ->set('argument_resolver.backed_enum_resolver'BackedEnumValueResolver::class)
  44.             ->tag('controller.argument_value_resolver', ['priority' => 100])
  45.         ->set('argument_resolver.uid'UidValueResolver::class)
  46.             ->tag('controller.argument_value_resolver', ['priority' => 100])
  47.         ->set('argument_resolver.datetime'DateTimeValueResolver::class)
  48.             ->tag('controller.argument_value_resolver', ['priority' => 100])
  49.         ->set('argument_resolver.request_attribute'RequestAttributeValueResolver::class)
  50.             ->tag('controller.argument_value_resolver', ['priority' => 100])
  51.         ->set('argument_resolver.request'RequestValueResolver::class)
  52.             ->tag('controller.argument_value_resolver', ['priority' => 50])
  53.         ->set('argument_resolver.session'SessionValueResolver::class)
  54.             ->tag('controller.argument_value_resolver', ['priority' => 50])
  55.         ->set('argument_resolver.service'ServiceValueResolver::class)
  56.             ->args([
  57.                 abstract_arg('service locator, set in RegisterControllerArgumentLocatorsPass'),
  58.             ])
  59.             ->tag('controller.argument_value_resolver', ['priority' => -50])
  60.         ->set('argument_resolver.default'DefaultValueResolver::class)
  61.             ->tag('controller.argument_value_resolver', ['priority' => -100])
  62.         ->set('argument_resolver.variadic'VariadicValueResolver::class)
  63.             ->tag('controller.argument_value_resolver', ['priority' => -150])
  64.         ->set('response_listener'ResponseListener::class)
  65.             ->args([
  66.                 param('kernel.charset'),
  67.                 abstract_arg('The "set_content_language_from_locale" config value'),
  68.             ])
  69.             ->tag('kernel.event_subscriber')
  70.         ->set('locale_listener'LocaleListener::class)
  71.             ->args([
  72.                 service('request_stack'),
  73.                 param('kernel.default_locale'),
  74.                 service('router')->ignoreOnInvalid(),
  75.                 abstract_arg('The "set_locale_from_accept_language" config value'),
  76.                 param('kernel.enabled_locales'),
  77.             ])
  78.             ->tag('kernel.event_subscriber')
  79.         ->set('validate_request_listener'ValidateRequestListener::class)
  80.             ->tag('kernel.event_subscriber')
  81.         ->set('disallow_search_engine_index_response_listener'DisallowRobotsIndexingListener::class)
  82.             ->tag('kernel.event_subscriber')
  83.         ->set('error_controller'ErrorController::class)
  84.             ->public()
  85.             ->args([
  86.                 service('http_kernel'),
  87.                 param('kernel.error_controller'),
  88.                 service('error_renderer'),
  89.             ])
  90.         ->set('exception_listener'ErrorListener::class)
  91.             ->args([
  92.                 param('kernel.error_controller'),
  93.                 service('logger')->nullOnInvalid(),
  94.                 param('kernel.debug'),
  95.                 abstract_arg('an exceptions to log & status code mapping'),
  96.             ])
  97.             ->tag('kernel.event_subscriber')
  98.             ->tag('monolog.logger', ['channel' => 'request'])
  99.     ;
  100. };