PluginProbe
BetterDocs – AI Documentation, Knowledge Base, MCP Server, Docs, Wikis, FAQ & Chatbot / 3.4.1
BetterDocs – AI Documentation, Knowledge Base, MCP Server, Docs, Wikis, FAQ & Chatbot v3.4.1
4.9.1 4.9.0 4.8.2 4.8.1 4.8.0 4.7.0 4.6.2 4.6.1 4.6.0 4.5.6 4.5.5 4.5.4 4.5.3 4.5.2 4.5.1 4.5.0 4.4.1 4.4.0 3.3.4 3.4.0 3.4.1 3.4.2 3.5.0 3.5.1 3.5.2 All 199 releases
betterdocs / includes / Dependencies / DI / Definition / ArrayDefinitionExtension.php

ArrayDefinitionExtension.php in BetterDocs – AI Documentation, Knowledge Base, MCP Server, Docs, Wikis, FAQ & Chatbot 3.4.1, at includes/Dependencies/DI/Definition/ArrayDefinitionExtension.php

43 lines 1.1 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 WPDeveloper\BetterDocs\Dependencies\DI\Definition;
6
7 use WPDeveloper\BetterDocs\Dependencies\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 <matthieu@mnapoli.fr>
14 */
15 class ArrayDefinitionExtension extends ArrayDefinition implements ExtendsPreviousDefinition
16 {
17 /**
18 * @var ArrayDefinition
19 */
20 private $subDefinition;
21
22 public function getValues() : array
23 {
24 if (! $this->subDefinition) {
25 return parent::getValues();
26 }
27
28 return array_merge($this->subDefinition->getValues(), parent::getValues());
29 }
30
31 public function setExtendedDefinition(Definition $definition)
32 {
33 if (! $definition instanceof ArrayDefinition) {
34 throw new InvalidDefinition(sprintf(
35 'Definition %s tries to add array entries but the previous definition is not an array',
36 $this->getName()
37 ));
38 }
39
40 $this->subDefinition = $definition;
41 }
42 }
43