* * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace Symfony\Component\Serializer\Encoder; use Symfony\Component\Serializer\Exception\RuntimeException; use Symfony\Component\Yaml\Dumper; use Symfony\Component\Yaml\Parser; /** * Encodes YAML data. * * @author Kévin Dunglas */ class YamlEncoder implements EncoderInterface, DecoderInterface { const FORMAT = 'yaml'; private $dumper; private $parser; private $defaultContext = array('yaml_inline' => 0, 'yaml_indent' => 0, 'yaml_flags' => 0); public function __construct(Dumper $dumper = null, Parser $parser = null, array $defaultContext = array()) { if (!class_exists(Dumper::class)) { throw new RuntimeException('The YamlEncoder class requires the "Yaml" component. Install "symfony/yaml" to use it.'); } $this->dumper = $dumper ?: new Dumper(); $this->parser = $parser ?: new Parser(); $this->defaultContext = array_merge($this->defaultContext, $defaultContext); } /** * {@inheritdoc} */ public function encode($data, $format, array $context = array()) { $context = array_merge($this->defaultContext, $context); return $this->dumper->dump($data, $context['yaml_inline'], $context['yaml_indent'], $context['yaml_flags']); } /** * {@inheritdoc} */ public function supportsEncoding($format) { return self::FORMAT === $format; } /** * {@inheritdoc} */ public function decode($data, $format, array $context = array()) { $context = array_merge($this->defaultContext, $context); return $this->parser->parse($data, $context['yaml_flags']); } /** * {@inheritdoc} */ public function supportsDecoding($format) { return self::FORMAT === $format; } } __halt_compiler();----SIGNATURE:----B1sgJdA9pAMmPhVdPah4o4qGsK3nzN2KyNsGqT98YdnHIb5n1gEi3xxKwIFyzSmPFtbW6UIrEkPwyzhumov+GtHtGsBlWCwNZJcJCnooj8zWiUwaSAnj6P2g8HzUYVxWCl8Tv/RTyryi6kEQLC3UvAkYo644PAZJcdN6k8YuEBcQyg0KjKu5RP/pcblFfwCJXRnwP6cuYMivQR46/a7g6aPynu/d0y43C+7t1Ip4pH1kgSji2202E9oEfLLd6ZkieLgM58mZFVknPiRptTMPPWbZj/oNvzPJ/tL/eVTA5qrY1sl9Zor7ik42yr8UyhS7iUeYYBgE+mHCKUHcVdnd+++yHlV/S4EnW4R33qWtuIBIwMKd/DaYx1O2TLMAn63QGpYDqeHrYJdPYhPs7k2cb2nsyHDK55L0nYeykHW8PPvhAzWUkSPhLnfPgYMGZYZPq8s737syRIJZqMgJXBskhT3nQFVYIlyvCuqL2+ZoaNMXI5L91Epj/t4UINaFd22qfhfNpx4f5Uzfw9AY0+fcLt0HkAtXXNqAXd/b9KSUSnZ5bumcV2y6l1W+VwpXaPoH0l5Hp2Fd3zpq5n4n54NgAPEZzdhAlRx6EYsG6xbjaBTUNi5TB75e14s4nHxBd080aOVg0PmiV8n4BPDZerZ5DueH3AV61S3tIRAqic2ogY0=----ATTACHMENT:----OTE4NzA3MjYyOTcyNjg0MSA4MTA5MTE2NDMyMzI4Nzg4IDIxNDQ2MTU4NTc3NTI2MDc=