PluginProbe
BetterDocs – AI Documentation, Knowledge Base, MCP Server, Docs, Wikis, FAQ & Chatbot / 4.8.1
BetterDocs – AI Documentation, Knowledge Base, MCP Server, Docs, Wikis, FAQ & Chatbot v4.8.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 / Reference.php

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

74 lines 1.5 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\Psr\Container\ContainerInterface;
8
9 /**
10 * Represents a reference to another entry.
11 *
12 * @author Matthieu Napoli <matthieu@mnapoli.fr>
13 */
14 class Reference implements Definition, SelfResolvingDefinition
15 {
16 /**
17 * Entry name.
18 * @var string
19 */
20 private $name = '';
21
22 /**
23 * Name of the target entry.
24 * @var string
25 */
26 private $targetEntryName;
27
28 /**
29 * @param string $targetEntryName Name of the target entry
30 */
31 public function __construct(string $targetEntryName)
32 {
33 $this->targetEntryName = $targetEntryName;
34 }
35
36 public function getName() : string
37 {
38 return $this->name;
39 }
40
41 public function setName(string $name)
42 {
43 $this->name = $name;
44 }
45
46 public function getTargetEntryName() : string
47 {
48 return $this->targetEntryName;
49 }
50
51 public function resolve(ContainerInterface $container)
52 {
53 return $container->get($this->getTargetEntryName());
54 }
55
56 public function isResolvable(ContainerInterface $container) : bool
57 {
58 return $container->has($this->getTargetEntryName());
59 }
60
61 public function replaceNestedDefinitions(callable $replacer)
62 {
63 // no nested definitions
64 }
65
66 public function __toString()
67 {
68 return sprintf(
69 'get(%s)',
70 $this->targetEntryName
71 );
72 }
73 }
74