comparison vendor/symfony/serializer/Encoder/JsonEncoder.php @ 0:4c8ae668cc8c

Initial import (non-working)
author Chris Cannam
date Wed, 29 Nov 2017 16:09:58 +0000
parents
children 1fec387a4317
comparison
equal deleted inserted replaced
-1:000000000000 0:4c8ae668cc8c
1 <?php
2
3 /*
4 * This file is part of the Symfony package.
5 *
6 * (c) Fabien Potencier <fabien@symfony.com>
7 *
8 * For the full copyright and license information, please view the LICENSE
9 * file that was distributed with this source code.
10 */
11
12 namespace Symfony\Component\Serializer\Encoder;
13
14 /**
15 * Encodes JSON data.
16 *
17 * @author Jordi Boggiano <j.boggiano@seld.be>
18 */
19 class JsonEncoder implements EncoderInterface, DecoderInterface
20 {
21 const FORMAT = 'json';
22
23 /**
24 * @var JsonEncode
25 */
26 protected $encodingImpl;
27
28 /**
29 * @var JsonDecode
30 */
31 protected $decodingImpl;
32
33 public function __construct(JsonEncode $encodingImpl = null, JsonDecode $decodingImpl = null)
34 {
35 $this->encodingImpl = $encodingImpl ?: new JsonEncode();
36 $this->decodingImpl = $decodingImpl ?: new JsonDecode(true);
37 }
38
39 /**
40 * {@inheritdoc}
41 */
42 public function encode($data, $format, array $context = array())
43 {
44 return $this->encodingImpl->encode($data, self::FORMAT, $context);
45 }
46
47 /**
48 * {@inheritdoc}
49 */
50 public function decode($data, $format, array $context = array())
51 {
52 return $this->decodingImpl->decode($data, self::FORMAT, $context);
53 }
54
55 /**
56 * {@inheritdoc}
57 */
58 public function supportsEncoding($format)
59 {
60 return self::FORMAT === $format;
61 }
62
63 /**
64 * {@inheritdoc}
65 */
66 public function supportsDecoding($format)
67 {
68 return self::FORMAT === $format;
69 }
70 }