PluginProbe
Cookiebot by Usercentrics – Automatic Cookie Banner for GDPR/CCPA & Google Consent Mode / 3.10.1
Cookiebot by Usercentrics – Automatic Cookie Banner for GDPR/CCPA & Google Consent Mode v3.10.1
4.7.4 4.7.5 4.7.3 4.7.2 4.7.1 trunk 2.3.0 2.4.0 2.4.1 2.4.2 2.5.0 3.0.0 3.0.1 3.1.0 3.10.0 3.10.1 3.11.1 3.11.2 3.11.3 3.2.0 3.3.0 3.3.1 3.4.0 3.4.1 3.4.2 All 95 releases
cookiebot / addons / inc / Dependencies / DI / Definition / Dumper / ArrayDefinitionDumper.php

ArrayDefinitionDumper.php in Cookiebot by Usercentrics – Automatic Cookie Banner for GDPR/CCPA & Google Consent Mode 3.10.1, at addons/inc/Dependencies/DI/Definition/Dumper/ArrayDefinitionDumper.php

66 lines 1.7 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 /**
3 * PHP-DI
4 *
5 * @link http://php-di.org/
6 * @copyright Matthieu Napoli (http://mnapoli.fr/)
7 * @license http://www.opensource.org/licenses/mit-license.php MIT (see the LICENSE file)
8 */
9
10 namespace Cybot\Dependencies\DI\Definition\Dumper;
11
12 use Cybot\Dependencies\DI\Debug;
13 use Cybot\Dependencies\DI\Definition\ArrayDefinition;
14 use Cybot\Dependencies\DI\Definition\Definition;
15 use Cybot\Dependencies\DI\Definition\Helper\DefinitionHelper;
16
17 /**
18 * Dumps array definitions.
19 *
20 * @since 5.0
21 * @author Matthieu Napoli <[email protected]>
22 */
23 class ArrayDefinitionDumper implements DefinitionDumper
24 {
25 /**
26 * {@inheritdoc}
27 */
28 public function dump(Definition $definition)
29 {
30 if (! $definition instanceof ArrayDefinition) {
31 throw new \InvalidArgumentException(sprintf(
32 'This definition dumper is only compatible with ArrayDefinition objects, %s given',
33 get_class($definition)
34 ));
35 }
36
37 $str = '[' . PHP_EOL;
38
39 foreach ($definition->getValues() as $key => $value) {
40 if (is_string($key)) {
41 $key = "'" . $key . "'";
42 }
43
44 $str .= ' ' . $key . ' => ';
45
46 if ($value instanceof DefinitionHelper) {
47 $nestedDefinition = Debug::dumpDefinition($value->getDefinition(''));
48 $str .= $this->indent($nestedDefinition);
49 } else {
50 $str .= var_export($value, true);
51 }
52
53 $str .= ',' . PHP_EOL;
54 }
55
56 $str .= ']';
57
58 return $str;
59 }
60
61 private function indent($str)
62 {
63 return str_replace("\n", "\n ", $str);
64 }
65 }
66