PluginProbe
Defender Security – Malware Scanner, Login Security & Firewall / 6.1.0
Defender Security – Malware Scanner, Login Security & Firewall v6.1.0
6.3.0 6.2.3 6.2.4 6.2.0 6.2.1 6.2.2 6.1.0 5.3.1 5.4.0 5.4.1 5.5.0 5.5.1 5.6.0 5.6.1 5.6.2 5.7.0 5.7.1 5.7.2 5.8.0 5.8.1 5.9.0 6.0.0 6.0.1 3.0.1 3.1.0 All 141 releases
defender-security / lib / packages / DI / Definition / ArrayDefinitionExtension.php

ArrayDefinitionExtension.php in Defender Security – Malware Scanner, Login Security & Firewall 6.1.0, at lib/packages/DI/Definition/ArrayDefinitionExtension.php

40 lines 1.0 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 declare(strict_types=1);
4
5 namespace WPMU_DEV\Defender\Vendor\DI\Definition;
6
7 use WPMU_DEV\Defender\Vendor\DI\Definition\Exception\InvalidDefinition;
8
9 /**
10 * Extends an array definition by adding new elements into it.
11 *
12 * @since 5.0
13 * @author Matthieu Napoli <[email protected]>
14 */
15 class ArrayDefinitionExtension extends ArrayDefinition implements ExtendsPreviousDefinition
16 {
17 private ?ArrayDefinition $subDefinition = null;
18
19 public function getValues() : array
20 {
21 if (! $this->subDefinition) {
22 return parent::getValues();
23 }
24
25 return array_merge($this->subDefinition->getValues(), parent::getValues());
26 }
27
28 public function setExtendedDefinition(Definition $definition) : void
29 {
30 if (! $definition instanceof ArrayDefinition) {
31 throw new InvalidDefinition(sprintf(
32 'Definition %s tries to add array entries but the previous definition is not an array',
33 $this->getName()
34 ));
35 }
36
37 $this->subDefinition = $definition;
38 }
39 }
40