diff options
Diffstat (limited to 'vendor/symfony/twig-bridge/Symfony/Bridge/Twig/Extension/YamlExtension.php')
-rw-r--r-- | vendor/symfony/twig-bridge/Symfony/Bridge/Twig/Extension/YamlExtension.php | 67 |
1 files changed, 67 insertions, 0 deletions
diff --git a/vendor/symfony/twig-bridge/Symfony/Bridge/Twig/Extension/YamlExtension.php b/vendor/symfony/twig-bridge/Symfony/Bridge/Twig/Extension/YamlExtension.php new file mode 100644 index 00000000..f88829ee --- /dev/null +++ b/vendor/symfony/twig-bridge/Symfony/Bridge/Twig/Extension/YamlExtension.php | |||
@@ -0,0 +1,67 @@ | |||
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\Bridge\Twig\Extension; | ||
13 | |||
14 | use Symfony\Component\Yaml\Dumper as YamlDumper; | ||
15 | |||
16 | /** | ||
17 | * Provides integration of the Yaml component with Twig. | ||
18 | * | ||
19 | * @author Fabien Potencier <fabien@symfony.com> | ||
20 | */ | ||
21 | class YamlExtension extends \Twig_Extension | ||
22 | { | ||
23 | /** | ||
24 | * {@inheritdoc} | ||
25 | */ | ||
26 | public function getFilters() | ||
27 | { | ||
28 | return array( | ||
29 | 'yaml_encode' => new \Twig_Filter_Method($this, 'encode'), | ||
30 | 'yaml_dump' => new \Twig_Filter_Method($this, 'dump'), | ||
31 | ); | ||
32 | } | ||
33 | |||
34 | public function encode($input, $inline = 0, $dumpObjects = false) | ||
35 | { | ||
36 | static $dumper; | ||
37 | |||
38 | if (null === $dumper) { | ||
39 | $dumper = new YamlDumper(); | ||
40 | } | ||
41 | |||
42 | return $dumper->dump($input, $inline, false, $dumpObjects); | ||
43 | } | ||
44 | |||
45 | public function dump($value, $inline = 0, $dumpObjects = false) | ||
46 | { | ||
47 | if (is_resource($value)) { | ||
48 | return '%Resource%'; | ||
49 | } | ||
50 | |||
51 | if (is_array($value) || is_object($value)) { | ||
52 | return '%'.gettype($value).'% '.$this->encode($value, $inline, $dumpObjects); | ||
53 | } | ||
54 | |||
55 | return $this->encode($value, $inline, $dumpObjects); | ||
56 | } | ||
57 | |||
58 | /** | ||
59 | * Returns the name of the extension. | ||
60 | * | ||
61 | * @return string The extension name | ||
62 | */ | ||
63 | public function getName() | ||
64 | { | ||
65 | return 'yaml'; | ||
66 | } | ||
67 | } | ||