minor #37212 [FrameworkBundle] Move debug configuration to PHP (Benoit Mallo)
This PR was squashed before being merged into the 5.2-dev branch.
Discussion
----------
[FrameworkBundle] Move debug configuration to PHP
| Q | A
| ------------- | ---
| Branch? | master
| Bug fix? | no
| New feature? | no
| Deprecations? | no
| Tickets | Ref #37186
| License | MIT
<!--
Replace this notice by a short README for your feature/bugfix. This will help people
understand your PR and can be used as a start for the documentation.
Additionally (see https://symfony.com/releases):
- Always add tests and ensure they pass.
- Never break backward compatibility (see https://symfony.com/bc).
- Bug fixes must be submitted against the lowest maintained branch where they apply
(lowest branches are regularly merged to upper ones so they get the fixes too.)
- Features and deprecations must be submitted against branch master.
-->
Commits
-------
a226a52d65
[FrameworkBundle] Move debug configuration to PHP
This commit is contained in:
commit
188a9850df
@ -371,7 +371,7 @@ class FrameworkExtension extends Extension
|
||||
$this->registerTranslatorConfiguration($config['translator'], $container, $loader, $config['default_locale']);
|
||||
$this->registerProfilerConfiguration($config['profiler'], $container, $loader);
|
||||
$this->registerWorkflowConfiguration($config['workflows'], $container, $loader);
|
||||
$this->registerDebugConfiguration($config['php_errors'], $container, $loader);
|
||||
$this->registerDebugConfiguration($config['php_errors'], $container, $phpLoader);
|
||||
$this->registerRouterConfiguration($config['router'], $container, $loader, $config['translator']['enabled_locales'] ?? []);
|
||||
$this->registerAnnotationsConfiguration($config['annotations'], $container, $loader);
|
||||
$this->registerPropertyAccessConfiguration($config['property_access'], $container, $loader);
|
||||
@ -821,9 +821,9 @@ class FrameworkExtension extends Extension
|
||||
}
|
||||
}
|
||||
|
||||
private function registerDebugConfiguration(array $config, ContainerBuilder $container, XmlFileLoader $loader)
|
||||
private function registerDebugConfiguration(array $config, ContainerBuilder $container, PhpFileLoader $loader)
|
||||
{
|
||||
$loader->load('debug_prod.xml');
|
||||
$loader->load('debug_prod.php');
|
||||
|
||||
if (class_exists(Stopwatch::class)) {
|
||||
$container->register('debug.stopwatch', Stopwatch::class)
|
||||
@ -840,7 +840,7 @@ class FrameworkExtension extends Extension
|
||||
}
|
||||
|
||||
if ($debug && class_exists(Stopwatch::class)) {
|
||||
$loader->load('debug.xml');
|
||||
$loader->load('debug.php');
|
||||
}
|
||||
|
||||
$definition = $container->findDefinition('debug.debug_handlers_listener');
|
||||
|
@ -0,0 +1,50 @@
|
||||
<?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\Component\DependencyInjection\Loader\Configurator;
|
||||
|
||||
use Symfony\Component\HttpKernel\Controller\ArgumentResolver\NotTaggedControllerValueResolver;
|
||||
use Symfony\Component\HttpKernel\Controller\TraceableArgumentResolver;
|
||||
use Symfony\Component\HttpKernel\Controller\TraceableControllerResolver;
|
||||
use Symfony\Component\HttpKernel\Debug\TraceableEventDispatcher;
|
||||
|
||||
return static function (ContainerConfigurator $container) {
|
||||
$container->services()
|
||||
->set('debug.event_dispatcher', TraceableEventDispatcher::class)
|
||||
->decorate('event_dispatcher')
|
||||
->args([
|
||||
service('debug.event_dispatcher.inner'),
|
||||
service('debug.stopwatch'),
|
||||
service('logger')->nullOnInvalid(),
|
||||
service('request_stack')->nullOnInvalid(),
|
||||
])
|
||||
->tag('monolog.logger', ['channel' => 'event'])
|
||||
->tag('kernel.reset', ['method' => 'reset'])
|
||||
|
||||
->set('debug.controller_resolver', TraceableControllerResolver::class)
|
||||
->decorate('controller_resolver')
|
||||
->args([
|
||||
service('debug.controller_resolver.inner'),
|
||||
service('debug.stopwatch'),
|
||||
])
|
||||
|
||||
->set('debug.argument_resolver', TraceableArgumentResolver::class)
|
||||
->decorate('argument_resolver')
|
||||
->args([
|
||||
service('debug.argument_resolver.inner'),
|
||||
service('debug.stopwatch'),
|
||||
])
|
||||
|
||||
->set('argument_resolver.not_tagged_controller', NotTaggedControllerValueResolver::class)
|
||||
->args([abstract_arg('Controller argument, set in FrameworkExtension')])
|
||||
->tag('controller.argument_value_resolver', ['priority' => -200])
|
||||
;
|
||||
};
|
@ -1,34 +0,0 @@
|
||||
<?xml version="1.0" ?>
|
||||
|
||||
<container xmlns="http://symfony.com/schema/dic/services"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://symfony.com/schema/dic/services https://symfony.com/schema/dic/services/services-1.0.xsd">
|
||||
|
||||
<services>
|
||||
<defaults public="false" />
|
||||
|
||||
<service id="debug.event_dispatcher" class="Symfony\Component\HttpKernel\Debug\TraceableEventDispatcher" decorates="event_dispatcher">
|
||||
<tag name="monolog.logger" channel="event" />
|
||||
<tag name="kernel.reset" method="reset" />
|
||||
<argument type="service" id="debug.event_dispatcher.inner" />
|
||||
<argument type="service" id="debug.stopwatch" />
|
||||
<argument type="service" id="logger" on-invalid="null" />
|
||||
<argument type="service" id="request_stack" on-invalid="null" />
|
||||
</service>
|
||||
|
||||
<service id="debug.controller_resolver" decorates="controller_resolver" class="Symfony\Component\HttpKernel\Controller\TraceableControllerResolver">
|
||||
<argument type="service" id="debug.controller_resolver.inner" />
|
||||
<argument type="service" id="debug.stopwatch" />
|
||||
</service>
|
||||
|
||||
<service id="debug.argument_resolver" decorates="argument_resolver" class="Symfony\Component\HttpKernel\Controller\TraceableArgumentResolver">
|
||||
<argument type="service" id="debug.argument_resolver.inner" />
|
||||
<argument type="service" id="debug.stopwatch" />
|
||||
</service>
|
||||
|
||||
<service id="argument_resolver.not_tagged_controller" class="Symfony\Component\HttpKernel\Controller\ArgumentResolver\NotTaggedControllerValueResolver">
|
||||
<tag name="controller.argument_value_resolver" priority="-200" />
|
||||
<argument />
|
||||
</service>
|
||||
</services>
|
||||
</container>
|
@ -0,0 +1,40 @@
|
||||
<?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\Component\DependencyInjection\Loader\Configurator;
|
||||
|
||||
use Symfony\Component\HttpKernel\Debug\FileLinkFormatter;
|
||||
use Symfony\Component\HttpKernel\EventListener\DebugHandlersListener;
|
||||
|
||||
return static function (ContainerConfigurator $container) {
|
||||
$container->parameters()->set('debug.error_handler.throw_at', -1);
|
||||
|
||||
$container->services()
|
||||
->set('debug.debug_handlers_listener', DebugHandlersListener::class)
|
||||
->args([
|
||||
null, // Exception handler
|
||||
service('monolog.logger.php')->nullOnInvalid(),
|
||||
null, // Log levels map for enabled error levels
|
||||
param('debug.error_handler.throw_at'),
|
||||
param('kernel.debug'),
|
||||
service('debug.file_link_formatter'),
|
||||
param('kernel.debug'),
|
||||
service('monolog.logger.deprecation')->nullOnInvalid(),
|
||||
])
|
||||
->tag('kernel.event_subscriber')
|
||||
->tag('monolog.logger', ['channel' => 'php'])
|
||||
|
||||
->set('debug.file_link_formatter', FileLinkFormatter::class)
|
||||
->args([param('debug.file_link_format')])
|
||||
|
||||
->alias(FileLinkFormatter::class, 'debug.file_link_formatter')
|
||||
;
|
||||
};
|
@ -1,32 +0,0 @@
|
||||
<?xml version="1.0" ?>
|
||||
|
||||
<container xmlns="http://symfony.com/schema/dic/services"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://symfony.com/schema/dic/services https://symfony.com/schema/dic/services/services-1.0.xsd">
|
||||
|
||||
<parameters>
|
||||
<parameter key="debug.error_handler.throw_at">-1</parameter>
|
||||
</parameters>
|
||||
|
||||
<services>
|
||||
<defaults public="false" />
|
||||
|
||||
<service id="debug.debug_handlers_listener" class="Symfony\Component\HttpKernel\EventListener\DebugHandlersListener">
|
||||
<tag name="kernel.event_subscriber" />
|
||||
<tag name="monolog.logger" channel="php" />
|
||||
<argument>null</argument><!-- Exception handler -->
|
||||
<argument type="service" id="monolog.logger.php" on-invalid="null" />
|
||||
<argument>null</argument><!-- Log levels map for enabled error levels -->
|
||||
<argument>%debug.error_handler.throw_at%</argument>
|
||||
<argument>%kernel.debug%</argument>
|
||||
<argument type="service" id="debug.file_link_formatter" />
|
||||
<argument>%kernel.debug%</argument>
|
||||
<argument type="service" id="monolog.logger.deprecation" on-invalid="null" />
|
||||
</service>
|
||||
|
||||
<service id="debug.file_link_formatter" class="Symfony\Component\HttpKernel\Debug\FileLinkFormatter">
|
||||
<argument>%debug.file_link_format%</argument>
|
||||
</service>
|
||||
<service id="Symfony\Component\HttpKernel\Debug\FileLinkFormatter" alias="debug.file_link_formatter" />
|
||||
</services>
|
||||
</container>
|
Reference in New Issue
Block a user