PluginProbe
The Innovative Form Builder – IvyForms / 0.2.1
The Innovative Form Builder – IvyForms v0.2.1
1.5.1 1.5 1.4.1 1.4 trunk 0.1.2 0.2 0.2.1 0.3 0.3.1 0.4 0.5 0.6 0.6.1 0.6.1-backup 0.6.1.1 0.7 0.8 0.8.1 0.8.2 0.9 0.9.1 1.0 1.1 1.1.1 All 27 releases
ivyforms / backend / vendor / php-di / php-di / src / Definition / Reference.php

Reference.php in The Innovative Form Builder – IvyForms 0.2.1, at backend/vendor/php-di/php-di/src/Definition/Reference.php

74 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 declare(strict_types=1);
4
5 namespace DI\Definition;
6
7 use Psr\Container\ContainerInterface;
8
9 /**
10 * Represents a reference to another entry.
11 *
12 * @author Matthieu Napoli <[email protected]>
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