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.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 3.5.0 3.6.0 3.6.1 3.6.2 3.6.5 3.6.6 3.7.0 3.7.1 3.8.0 3.9.0 4.0.0 4.0.1 4.0.2 4.0.3 4.1.0 4.1.1 4.2.0 4.2.1 4.2.10 4.2.11 4.2.12 4.2.13 4.2.14 4.2.2 4.2.3 4.2.4 4.2.5 4.2.6 4.2.7 4.2.8 4.2.9 4.3.0 4.3.1 4.3.10 4.3.11 4.3.12 4.3.2 4.3.3 4.3.4 4.3.5 4.3.6 4.3.7 4.3.7.1 4.3.8 4.3.9 4.3.9.1 4.4.0 4.4.1 4.4.2 4.5.0 4.5.1 4.5.10 4.5.11 4.5.2 4.5.3 4.5.4 4.5.5 4.5.6 4.5.7 4.5.8 4.5.9 4.6.0 4.6.1 4.6.2 4.6.3 4.6.4 4.6.5 4.6.6 4.6.7 4.7.0
cookiebot / addons / inc / Dependencies / DI / Definition / ArrayDefinitionExtension.php
cookiebot / addons / inc / Dependencies / DI / Definition Last commit date
Dumper 5 years ago Exception 5 years ago Helper 5 years ago ObjectDefinition 5 years ago Resolver 5 years ago Source 5 years ago AbstractFunctionCallDefinition.php 5 years ago AliasDefinition.php 5 years ago ArrayDefinition.php 5 years ago ArrayDefinitionExtension.php 5 years ago CacheableDefinition.php 5 years ago DecoratorDefinition.php 5 years ago Definition.php 5 years ago EntryReference.php 5 years ago EnvironmentVariableDefinition.php 5 years ago FactoryDefinition.php 5 years ago HasSubDefinition.php 5 years ago InstanceDefinition.php 5 years ago ObjectDefinition.php 5 years ago StringDefinition.php 5 years ago ValueDefinition.php 5 years ago
ArrayDefinitionExtension.php
62 lines
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 <matthieu@mnapoli.fr>
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