vendor/symfony/debug-bundle/Resources/config/services.php line 137

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 Monolog\Formatter\FormatterInterface;
  12. use Symfony\Bridge\Monolog\Command\ServerLogCommand;
  13. use Symfony\Bridge\Monolog\Formatter\ConsoleFormatter;
  14. use Symfony\Bridge\Twig\Extension\DumpExtension;
  15. use Symfony\Component\HttpKernel\DataCollector\DumpDataCollector;
  16. use Symfony\Component\HttpKernel\EventListener\DumpListener;
  17. use Symfony\Component\VarDumper\Cloner\VarCloner;
  18. use Symfony\Component\VarDumper\Command\Descriptor\CliDescriptor;
  19. use Symfony\Component\VarDumper\Command\Descriptor\HtmlDescriptor;
  20. use Symfony\Component\VarDumper\Command\ServerDumpCommand;
  21. use Symfony\Component\VarDumper\Dumper\CliDumper;
  22. use Symfony\Component\VarDumper\Dumper\ContextProvider\CliContextProvider;
  23. use Symfony\Component\VarDumper\Dumper\ContextProvider\RequestContextProvider;
  24. use Symfony\Component\VarDumper\Dumper\ContextProvider\SourceContextProvider;
  25. use Symfony\Component\VarDumper\Dumper\ContextualizedDumper;
  26. use Symfony\Component\VarDumper\Dumper\HtmlDumper;
  27. use Symfony\Component\VarDumper\Server\Connection;
  28. use Symfony\Component\VarDumper\Server\DumpServer;
  29. return static function (ContainerConfigurator $container) {
  30.     $container->parameters()
  31.         ->set('env(VAR_DUMPER_SERVER)''127.0.0.1:9912')
  32.     ;
  33.     $container->services()
  34.         ->set('twig.extension.dump'DumpExtension::class)
  35.             ->args([
  36.                 service('var_dumper.cloner'),
  37.                 service('var_dumper.html_dumper'),
  38.             ])
  39.             ->tag('twig.extension')
  40.         ->set('data_collector.dump'DumpDataCollector::class)
  41.             ->public()
  42.             ->args([
  43.                 service('debug.stopwatch')->ignoreOnInvalid(),
  44.                 service('debug.file_link_formatter')->ignoreOnInvalid(),
  45.                 param('kernel.charset'),
  46.                 service('request_stack'),
  47.                 null// var_dumper.cli_dumper or var_dumper.server_connection when debug.dump_destination is set
  48.             ])
  49.             ->tag('data_collector', [
  50.                 'id' => 'dump',
  51.                 'template' => '@Debug/Profiler/dump.html.twig',
  52.                 'priority' => 240,
  53.             ])
  54.         ->set('debug.dump_listener'DumpListener::class)
  55.             ->args([
  56.                 service('var_dumper.cloner'),
  57.                 service('var_dumper.cli_dumper'),
  58.                 null,
  59.             ])
  60.             ->tag('kernel.event_subscriber')
  61.         ->set('var_dumper.cloner'VarCloner::class)
  62.             ->public()
  63.         ->set('var_dumper.cli_dumper'CliDumper::class)
  64.             ->args([
  65.                 null// debug.dump_destination,
  66.                 param('kernel.charset'),
  67.                 0// flags
  68.             ])
  69.         ->set('var_dumper.contextualized_cli_dumper'ContextualizedDumper::class)
  70.             ->decorate('var_dumper.cli_dumper')
  71.             ->args([
  72.                 service('var_dumper.contextualized_cli_dumper.inner'),
  73.                 [
  74.                     'source' => inline_service(SourceContextProvider::class)->args([
  75.                         param('kernel.charset'),
  76.                         param('kernel.project_dir'),
  77.                         service('debug.file_link_formatter')->nullOnInvalid(),
  78.                     ]),
  79.                 ],
  80.             ])
  81.         ->set('var_dumper.html_dumper'HtmlDumper::class)
  82.             ->args([
  83.                 null,
  84.                 param('kernel.charset'),
  85.                 0// flags
  86.             ])
  87.             ->call('setDisplayOptions', [
  88.                 ['fileLinkFormat' => service('debug.file_link_formatter')->ignoreOnInvalid()],
  89.             ])
  90.         ->set('var_dumper.server_connection'Connection::class)
  91.             ->args([
  92.                 ''// server host
  93.                 [
  94.                     'source' => inline_service(SourceContextProvider::class)->args([
  95.                         param('kernel.charset'),
  96.                         param('kernel.project_dir'),
  97.                         service('debug.file_link_formatter')->nullOnInvalid(),
  98.                     ]),
  99.                     'request' => inline_service(RequestContextProvider::class)->args([service('request_stack')]),
  100.                     'cli' => inline_service(CliContextProvider::class),
  101.                 ],
  102.             ])
  103.         ->set('var_dumper.dump_server'DumpServer::class)
  104.             ->args([
  105.                 ''// server host
  106.                 service('logger')->nullOnInvalid(),
  107.             ])
  108.             ->tag('monolog.logger', ['channel' => 'debug'])
  109.         ->set('var_dumper.command.server_dump'ServerDumpCommand::class)
  110.             ->args([
  111.                 service('var_dumper.dump_server'),
  112.                 [
  113.                     'cli' => inline_service(CliDescriptor::class)->args([service('var_dumper.contextualized_cli_dumper.inner')]),
  114.                     'html' => inline_service(HtmlDescriptor::class)->args([service('var_dumper.html_dumper')]),
  115.                 ],
  116.             ])
  117.             ->tag('console.command')
  118.         ->set('monolog.command.server_log'ServerLogCommand::class)
  119.     ;
  120.     if (class_exists(ConsoleFormatter::class) && interface_exists(FormatterInterface::class)) {
  121.         $container->services()->get('monolog.command.server_log')->tag('console.command');
  122.     }
  123. };