initial commit
This commit is contained in:
42
vendor/symfony/debug-bundle/DependencyInjection/Compiler/DumpDataCollectorPass.php
vendored
Normal file
42
vendor/symfony/debug-bundle/DependencyInjection/Compiler/DumpDataCollectorPass.php
vendored
Normal file
@@ -0,0 +1,42 @@
|
||||
<?php
|
||||
|
||||
/*
|
||||
* This file is part of the Symfony package.
|
||||
*
|
||||
* (c) Fabien Potencier <fabien@symfony.com>
|
||||
*
|
||||
* For the full copyright and license information, please view the LICENSE
|
||||
* file that was distributed with this source code.
|
||||
*/
|
||||
|
||||
namespace Symfony\Bundle\DebugBundle\DependencyInjection\Compiler;
|
||||
|
||||
use Symfony\Bundle\WebProfilerBundle\EventListener\WebDebugToolbarListener;
|
||||
use Symfony\Component\DependencyInjection\Compiler\CompilerPassInterface;
|
||||
use Symfony\Component\DependencyInjection\ContainerBuilder;
|
||||
use Symfony\Component\DependencyInjection\Reference;
|
||||
|
||||
/**
|
||||
* Registers the file link format for the {@link \Symfony\Component\HttpKernel\DataCollector\DumpDataCollector}.
|
||||
*
|
||||
* @author Christian Flothmann <christian.flothmann@xabbuh.de>
|
||||
*/
|
||||
class DumpDataCollectorPass implements CompilerPassInterface
|
||||
{
|
||||
public function process(ContainerBuilder $container): void
|
||||
{
|
||||
if (!$container->hasDefinition('data_collector.dump')) {
|
||||
return;
|
||||
}
|
||||
|
||||
$definition = $container->getDefinition('data_collector.dump');
|
||||
|
||||
if (!$container->has('.virtual_request_stack')) {
|
||||
$definition->replaceArgument(3, new Reference('request_stack'));
|
||||
}
|
||||
|
||||
if (!$container->hasParameter('web_profiler.debug_toolbar.mode') || WebDebugToolbarListener::DISABLED === $container->getParameter('web_profiler.debug_toolbar.mode')) {
|
||||
$definition->replaceArgument(3, null);
|
||||
}
|
||||
}
|
||||
}
|
||||
62
vendor/symfony/debug-bundle/DependencyInjection/Configuration.php
vendored
Normal file
62
vendor/symfony/debug-bundle/DependencyInjection/Configuration.php
vendored
Normal file
@@ -0,0 +1,62 @@
|
||||
<?php
|
||||
|
||||
/*
|
||||
* This file is part of the Symfony package.
|
||||
*
|
||||
* (c) Fabien Potencier <fabien@symfony.com>
|
||||
*
|
||||
* For the full copyright and license information, please view the LICENSE
|
||||
* file that was distributed with this source code.
|
||||
*/
|
||||
|
||||
namespace Symfony\Bundle\DebugBundle\DependencyInjection;
|
||||
|
||||
use Symfony\Component\Config\Definition\Builder\TreeBuilder;
|
||||
use Symfony\Component\Config\Definition\ConfigurationInterface;
|
||||
|
||||
/**
|
||||
* DebugExtension configuration structure.
|
||||
*
|
||||
* @author Nicolas Grekas <p@tchwork.com>
|
||||
*/
|
||||
class Configuration implements ConfigurationInterface
|
||||
{
|
||||
public function getConfigTreeBuilder(): TreeBuilder
|
||||
{
|
||||
$treeBuilder = new TreeBuilder('debug');
|
||||
|
||||
$rootNode = $treeBuilder->getRootNode();
|
||||
$rootNode
|
||||
->docUrl('https://symfony.com/doc/{version:major}.{version:minor}/reference/configuration/debug.html', 'symfony/debug-bundle')
|
||||
->children()
|
||||
->integerNode('max_items')
|
||||
->info('Max number of displayed items past the first level, -1 means no limit.')
|
||||
->min(-1)
|
||||
->defaultValue(2500)
|
||||
->end()
|
||||
->integerNode('min_depth')
|
||||
->info('Minimum tree depth to clone all the items, 1 is default.')
|
||||
->min(0)
|
||||
->defaultValue(1)
|
||||
->end()
|
||||
->integerNode('max_string_length')
|
||||
->info('Max length of displayed strings, -1 means no limit.')
|
||||
->min(-1)
|
||||
->defaultValue(-1)
|
||||
->end()
|
||||
->scalarNode('dump_destination')
|
||||
->info('A stream URL where dumps should be written to.')
|
||||
->example('php://stderr, or tcp://%env(VAR_DUMPER_SERVER)% when using the "server:dump" command')
|
||||
->defaultNull()
|
||||
->end()
|
||||
->enumNode('theme')
|
||||
->info('Changes the color of the dump() output when rendered directly on the templating. "dark" (default) or "light".')
|
||||
->example('dark')
|
||||
->values(['dark', 'light'])
|
||||
->defaultValue('dark')
|
||||
->end()
|
||||
;
|
||||
|
||||
return $treeBuilder;
|
||||
}
|
||||
}
|
||||
97
vendor/symfony/debug-bundle/DependencyInjection/DebugExtension.php
vendored
Normal file
97
vendor/symfony/debug-bundle/DependencyInjection/DebugExtension.php
vendored
Normal file
@@ -0,0 +1,97 @@
|
||||
<?php
|
||||
|
||||
/*
|
||||
* This file is part of the Symfony package.
|
||||
*
|
||||
* (c) Fabien Potencier <fabien@symfony.com>
|
||||
*
|
||||
* For the full copyright and license information, please view the LICENSE
|
||||
* file that was distributed with this source code.
|
||||
*/
|
||||
|
||||
namespace Symfony\Bundle\DebugBundle\DependencyInjection;
|
||||
|
||||
use Symfony\Bridge\Monolog\Command\ServerLogCommand;
|
||||
use Symfony\Bundle\DebugBundle\Command\ServerDumpPlaceholderCommand;
|
||||
use Symfony\Component\Config\FileLocator;
|
||||
use Symfony\Component\Console\Command\Command;
|
||||
use Symfony\Component\DependencyInjection\ContainerBuilder;
|
||||
use Symfony\Component\DependencyInjection\Extension\Extension;
|
||||
use Symfony\Component\DependencyInjection\Loader\PhpFileLoader;
|
||||
use Symfony\Component\DependencyInjection\Reference;
|
||||
use Symfony\Component\VarDumper\Caster\ReflectionCaster;
|
||||
|
||||
/**
|
||||
* @author Nicolas Grekas <p@tchwork.com>
|
||||
*/
|
||||
class DebugExtension extends Extension
|
||||
{
|
||||
public function load(array $configs, ContainerBuilder $container): void
|
||||
{
|
||||
$configuration = new Configuration();
|
||||
$config = $this->processConfiguration($configuration, $configs);
|
||||
|
||||
$loader = new PhpFileLoader($container, new FileLocator(__DIR__.'/../Resources/config'));
|
||||
$loader->load('services.php');
|
||||
|
||||
$container->getDefinition('var_dumper.cloner')
|
||||
->addMethodCall('setMaxItems', [$config['max_items']])
|
||||
->addMethodCall('setMinDepth', [$config['min_depth']])
|
||||
->addMethodCall('setMaxString', [$config['max_string_length']])
|
||||
->addMethodCall('addCasters', [ReflectionCaster::UNSET_CLOSURE_FILE_INFO]);
|
||||
|
||||
if ('dark' !== $config['theme']) {
|
||||
$container->getDefinition('var_dumper.html_dumper')
|
||||
->addMethodCall('setTheme', [$config['theme']]);
|
||||
}
|
||||
|
||||
if (null === $config['dump_destination']) {
|
||||
$container->getDefinition('var_dumper.command.server_dump')
|
||||
->setClass(ServerDumpPlaceholderCommand::class)
|
||||
;
|
||||
} elseif (str_starts_with($config['dump_destination'], 'tcp://')) {
|
||||
$container->getDefinition('debug.dump_listener')
|
||||
->replaceArgument(2, new Reference('var_dumper.server_connection'))
|
||||
;
|
||||
$container->getDefinition('data_collector.dump')
|
||||
->replaceArgument(4, new Reference('var_dumper.server_connection'))
|
||||
;
|
||||
$container->getDefinition('var_dumper.dump_server')
|
||||
->replaceArgument(0, $config['dump_destination'])
|
||||
;
|
||||
$container->getDefinition('var_dumper.server_connection')
|
||||
->replaceArgument(0, $config['dump_destination'])
|
||||
;
|
||||
} else {
|
||||
$container->getDefinition('var_dumper.cli_dumper')
|
||||
->replaceArgument(0, $config['dump_destination'])
|
||||
;
|
||||
$container->getDefinition('data_collector.dump')
|
||||
->replaceArgument(4, new Reference('var_dumper.cli_dumper'))
|
||||
;
|
||||
$container->getDefinition('var_dumper.command.server_dump')
|
||||
->setClass(ServerDumpPlaceholderCommand::class)
|
||||
;
|
||||
}
|
||||
|
||||
$container->getDefinition('var_dumper.cli_dumper')
|
||||
->addMethodCall('setDisplayOptions', [[
|
||||
'fileLinkFormat' => new Reference('debug.file_link_formatter', ContainerBuilder::IGNORE_ON_INVALID_REFERENCE),
|
||||
]])
|
||||
;
|
||||
|
||||
if (!class_exists(Command::class) || !class_exists(ServerLogCommand::class)) {
|
||||
$container->removeDefinition('monolog.command.server_log');
|
||||
}
|
||||
}
|
||||
|
||||
public function getXsdValidationBasePath(): string|false
|
||||
{
|
||||
return __DIR__.'/../Resources/config/schema';
|
||||
}
|
||||
|
||||
public function getNamespace(): string
|
||||
{
|
||||
return 'http://symfony.com/schema/dic/debug';
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user