From 40367d69e8a09b0f9dce3df1d6409c8582ca9a18 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?K=C3=A9vin=20Dunglas?= Date: Sun, 15 Oct 2017 19:38:38 +0200 Subject: [PATCH 1/2] [Serializer] YamlEncoder: throw if the Yaml component isn't installed --- src/Symfony/Component/Serializer/Encoder/YamlEncoder.php | 5 +++++ .../Component/Serializer/Normalizer/DataUriNormalizer.php | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/src/Symfony/Component/Serializer/Encoder/YamlEncoder.php b/src/Symfony/Component/Serializer/Encoder/YamlEncoder.php index 41ac04f209105..a0a5e378144cb 100644 --- a/src/Symfony/Component/Serializer/Encoder/YamlEncoder.php +++ b/src/Symfony/Component/Serializer/Encoder/YamlEncoder.php @@ -11,6 +11,7 @@ namespace Symfony\Component\Serializer\Encoder; +use Symfony\Component\Serializer\Exception\RuntimeException; use Symfony\Component\Yaml\Dumper; use Symfony\Component\Yaml\Parser; @@ -29,6 +30,10 @@ class YamlEncoder implements EncoderInterface, DecoderInterface public function __construct(Dumper $dumper = null, Parser $parser = null, array $defaultContext = array()) { + if (!class_exists(Dumper::class)) { + throw new RuntimeException('Unable to use YamlEncoder as the Symfony Yaml component is not installed.'); + } + $this->dumper = $dumper ?: new Dumper(); $this->parser = $parser ?: new Parser(); $this->defaultContext = array_merge($this->defaultContext, $defaultContext); diff --git a/src/Symfony/Component/Serializer/Normalizer/DataUriNormalizer.php b/src/Symfony/Component/Serializer/Normalizer/DataUriNormalizer.php index 9e5af130d03b7..121d3425f74f1 100644 --- a/src/Symfony/Component/Serializer/Normalizer/DataUriNormalizer.php +++ b/src/Symfony/Component/Serializer/Normalizer/DataUriNormalizer.php @@ -110,7 +110,7 @@ public function supportsDenormalization($data, $type, $format = null) $supportedTypes = array( \SplFileInfo::class => true, \SplFileObject::class => true, - 'Symfony\Component\HttpFoundation\File\File' => true, + File::class => true, ); return isset($supportedTypes[$type]); From df2f6b2ff66c147277c32545f85543e6faa89ced Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?K=C3=A9vin=20Dunglas?= Date: Mon, 16 Oct 2017 23:46:55 +0200 Subject: [PATCH 2/2] Update message --- src/Symfony/Component/Serializer/Encoder/YamlEncoder.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Symfony/Component/Serializer/Encoder/YamlEncoder.php b/src/Symfony/Component/Serializer/Encoder/YamlEncoder.php index a0a5e378144cb..3ac1af679a4a1 100644 --- a/src/Symfony/Component/Serializer/Encoder/YamlEncoder.php +++ b/src/Symfony/Component/Serializer/Encoder/YamlEncoder.php @@ -31,7 +31,7 @@ class YamlEncoder implements EncoderInterface, DecoderInterface public function __construct(Dumper $dumper = null, Parser $parser = null, array $defaultContext = array()) { if (!class_exists(Dumper::class)) { - throw new RuntimeException('Unable to use YamlEncoder as the Symfony Yaml component is not installed.'); + throw new RuntimeException('The YamlEncoder class requires the "Yaml" component. Install "symfony/yaml" to use it.'); } $this->dumper = $dumper ?: new Dumper();