PluginProbe
Cookiebot by Usercentrics – Automatic Cookie Banner for GDPR/CCPA & Google Consent Mode / 3.11.2
Cookiebot by Usercentrics – Automatic Cookie Banner for GDPR/CCPA & Google Consent Mode v3.11.2
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 / ArrayDefinitionExtension.php

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

62 lines 1.4 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;
11
12 use Cybot\Dependencies\DI\Definition\Exception\DefinitionException;
13
14 /**
15 * Extends an array definition by adding new elements into it.
16 *
17 * @since 5.0
18 * @author Matthieu Napoli <[email protected]>
19 */
20 class ArrayDefinitionExtension extends ArrayDefinition implements HasSubDefinition
21 {
22 /**
23 * @var ArrayDefinition
24 */
25 private $subDefinition;
26
27 /**
28 * {@inheritdoc}
29 */
30 public function getValues()
31 {
32 if (! $this->subDefinition) {
33 return parent::getValues();
34 }
35
36 return array_merge($this->subDefinition->getValues(), parent::getValues());
37 }
38
39 /**
40 * @return string
41 */
42 public function getSubDefinitionName()
43 {
44 return $this->getName();
45 }
46
47 /**
48 * {@inheritdoc}
49 */
50 public function setSubDefinition(Definition $definition)
51 {
52 if (! $definition instanceof ArrayDefinition) {
53 throw new DefinitionException(sprintf(
54 'Definition %s tries to add array entries but the previous definition is not an array',
55 $this->getName()
56 ));
57 }
58
59 $this->subDefinition = $definition;
60 }
61 }
62