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

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\DefaultValueResolver;
  14. use Symfony\Component\HttpKernel\Controller\ArgumentResolver\RequestAttributeValueResolver;
  15. use Symfony\Component\HttpKernel\Controller\ArgumentResolver\RequestValueResolver;
  16. use Symfony\Component\HttpKernel\Controller\ArgumentResolver\ServiceValueResolver;
  17. use Symfony\Component\HttpKernel\Controller\ArgumentResolver\SessionValueResolver;
  18. use Symfony\Component\HttpKernel\Controller\ArgumentResolver\VariadicValueResolver;
  19. use Symfony\Component\HttpKernel\Controller\ErrorController;
  20. use Symfony\Component\HttpKernel\ControllerMetadata\ArgumentMetadataFactory;
  21. use Symfony\Component\HttpKernel\EventListener\DisallowRobotsIndexingListener;
  22. use Symfony\Component\HttpKernel\EventListener\ErrorListener;
  23. use Symfony\Component\HttpKernel\EventListener\LocaleListener;
  24. use Symfony\Component\HttpKernel\EventListener\ResponseListener;
  25. use Symfony\Component\HttpKernel\EventListener\StreamedResponseListener;
  26. use Symfony\Component\HttpKernel\EventListener\ValidateRequestListener;
  27. return static function (ContainerConfigurator $container) {
  28.     $container->services()
  29.         ->set('controller_resolver'ControllerResolver::class)
  30.             ->args([
  31.                 service('service_container'),
  32.                 service('logger')->ignoreOnInvalid(),
  33.             ])
  34.             ->tag('monolog.logger', ['channel' => 'request'])
  35.         ->set('argument_metadata_factory'ArgumentMetadataFactory::class)
  36.         ->set('argument_resolver'ArgumentResolver::class)
  37.             ->args([
  38.                 service('argument_metadata_factory'),
  39.                 abstract_arg('argument value resolvers'),
  40.             ])
  41.         ->set('argument_resolver.request_attribute'RequestAttributeValueResolver::class)
  42.             ->tag('controller.argument_value_resolver', ['priority' => 100])
  43.         ->set('argument_resolver.request'RequestValueResolver::class)
  44.             ->tag('controller.argument_value_resolver', ['priority' => 50])
  45.         ->set('argument_resolver.session'SessionValueResolver::class)
  46.             ->tag('controller.argument_value_resolver', ['priority' => 50])
  47.         ->set('argument_resolver.service'ServiceValueResolver::class)
  48.             ->args([
  49.                 abstract_arg('service locator, set in RegisterControllerArgumentLocatorsPass'),
  50.             ])
  51.             ->tag('controller.argument_value_resolver', ['priority' => -50])
  52.         ->set('argument_resolver.default'DefaultValueResolver::class)
  53.             ->tag('controller.argument_value_resolver', ['priority' => -100])
  54.         ->set('argument_resolver.variadic'VariadicValueResolver::class)
  55.             ->tag('controller.argument_value_resolver', ['priority' => -150])
  56.         ->set('response_listener'ResponseListener::class)
  57.             ->args([
  58.                 param('kernel.charset'),
  59.                 abstract_arg('The "set_content_language_from_locale" config value'),
  60.             ])
  61.             ->tag('kernel.event_subscriber')
  62.         ->set('streamed_response_listener'StreamedResponseListener::class)
  63.             ->tag('kernel.event_subscriber')
  64.         ->set('locale_listener'LocaleListener::class)
  65.             ->args([
  66.                 service('request_stack'),
  67.                 param('kernel.default_locale'),
  68.                 service('router')->ignoreOnInvalid(),
  69.                 abstract_arg('The "set_locale_from_accept_language" config value'),
  70.                 param('kernel.enabled_locales'),
  71.             ])
  72.             ->tag('kernel.event_subscriber')
  73.         ->set('validate_request_listener'ValidateRequestListener::class)
  74.             ->tag('kernel.event_subscriber')
  75.         ->set('disallow_search_engine_index_response_listener'DisallowRobotsIndexingListener::class)
  76.             ->tag('kernel.event_subscriber')
  77.         ->set('error_controller'ErrorController::class)
  78.             ->public()
  79.             ->args([
  80.                 service('http_kernel'),
  81.                 param('kernel.error_controller'),
  82.                 service('error_renderer'),
  83.             ])
  84.         ->set('exception_listener'ErrorListener::class)
  85.             ->args([
  86.                 param('kernel.error_controller'),
  87.                 service('logger')->nullOnInvalid(),
  88.                 param('kernel.debug'),
  89.                 abstract_arg('an exceptions to log & status code mapping'),
  90.             ])
  91.             ->tag('kernel.event_subscriber')
  92.             ->tag('monolog.logger', ['channel' => 'request'])
  93.     ;
  94. };