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