Skip to content

Commit 2aa9c9f

Browse files
committed
Add Console ExceptionListener
Handle non string-castable inputs Cleanup input for display Naming changes InputInterface doesnt have a toString() Logger must be private Remove useless doc blocks Tweak tests
1 parent 7e76abf commit 2aa9c9f

File tree

3 files changed

+13
-4
lines changed

3 files changed

+13
-4
lines changed

DependencyInjection/FrameworkExtension.php

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@
2828
use Symfony\Component\Finder\Finder;
2929
use Symfony\Component\HttpKernel\DependencyInjection\Extension;
3030
use Symfony\Component\Config\FileLocator;
31+
use Symfony\Component\Config\Resource\ClassExistenceResource;
3132
use Symfony\Component\PropertyAccess\PropertyAccessor;
3233
use Symfony\Component\Serializer\Encoder\YamlEncoder;
3334
use Symfony\Component\Serializer\Encoder\CsvEncoder;
@@ -37,6 +38,7 @@
3738
use Symfony\Component\Serializer\Normalizer\JsonSerializableNormalizer;
3839
use Symfony\Component\Workflow;
3940
use Symfony\Component\Yaml\Yaml;
41+
use Symfony\Component\Console\Application;
4042

4143
/**
4244
* FrameworkExtension.
@@ -81,7 +83,11 @@ public function load(array $configs, ContainerBuilder $container)
8183
}
8284

8385
$loader->load('fragment_renderer.xml');
84-
$loader->load('console.xml');
86+
87+
$container->addResource(new ClassExistenceResource(Application::class));
88+
if (class_exists(Application::class)) {
89+
$loader->load('console.xml');
90+
}
8591

8692
// Property access is used by both the Form and the Validator component
8793
$loader->load('property_access.xml');

Resources/config/console.xml

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,12 @@
55
xsi:schemaLocation="http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd">
66

77
<services>
8-
<service id="console.exception_listener" class="Symfony\Component\Console\EventListener\ExceptionListener">
9-
<tag name="kernel.event_subscriber" />
8+
9+
<service id="console.exception_listener" class="Symfony\Component\Console\EventListener\ExceptionListener" public="false">
1010
<argument type="service" id="logger" on-invalid="null" />
11+
<tag name="kernel.event_subscriber" />
12+
<tag name="monolog.logger" channel="console" />
1113
</service>
14+
1215
</services>
1316
</container>

composer.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121
"symfony/class-loader": "~3.2",
2222
"symfony/dependency-injection": "~3.3",
2323
"symfony/config": "~3.3",
24-
"symfony/event-dispatcher": "~2.8|~3.0",
24+
"symfony/event-dispatcher": "~3.3",
2525
"symfony/http-foundation": "~3.1",
2626
"symfony/http-kernel": "~3.3",
2727
"symfony/polyfill-mbstring": "~1.0",

0 commit comments

Comments
 (0)