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 / EnvironmentVariableDefinition.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
EnvironmentVariableDefinition.php
117 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\Scope;
13
14 /**
15 * Defines a reference to an environment variable, with fallback to a default
16 * value if the environment variable is not defined.
17 *
18 * @author James Harris <james.harris@icecave.com.au>
19 */
20 class EnvironmentVariableDefinition implements CacheableDefinition
21 {
22 /**
23 * Entry name
24 * @var string
25 */
26 private $name;
27
28 /**
29 * The name of the environment variable
30 * @var string
31 */
32 private $variableName;
33
34 /**
35 * Whether or not the environment variable definition is optional
36 *
37 * If true and the environment variable given by $variableName has not been
38 * defined, $defaultValue is used.
39 *
40 * @var boolean
41 */
42 private $isOptional;
43
44 /**
45 * The default value to use if the environment variable is optional and not provided
46 * @var mixed
47 */
48 private $defaultValue;
49
50 /**
51 * @var string|null
52 */
53 private $scope;
54
55 /**
56 * @param string $name Entry name
57 * @param string $variableName The name of the environment variable
58 * @param boolean $isOptional Whether or not the environment variable definition is optional
59 * @param mixed $defaultValue The default value to use if the environment variable is optional and not provided
60 */
61 public function __construct($name, $variableName, $isOptional = false, $defaultValue = null)
62 {
63 $this->name = $name;
64 $this->variableName = $variableName;
65 $this->isOptional = $isOptional;
66 $this->defaultValue = $defaultValue;
67 }
68
69 /**
70 * @return string Entry name
71 */
72 public function getName()
73 {
74 return $this->name;
75 }
76
77 /**
78 * @return string The name of the environment variable
79 */
80 public function getVariableName()
81 {
82 return $this->variableName;
83 }
84
85 /**
86 * @return boolean Whether or not the environment variable definition is optional
87 */
88 public function isOptional()
89 {
90 return $this->isOptional;
91 }
92
93 /**
94 * @return mixed The default value to use if the environment variable is optional and not provided
95 */
96 public function getDefaultValue()
97 {
98 return $this->defaultValue;
99 }
100
101 /**
102 * @param string $scope
103 */
104 public function setScope($scope)
105 {
106 $this->scope = $scope;
107 }
108
109 /**
110 * {@inheritdoc}
111 */
112 public function getScope()
113 {
114 return $this->scope ?: Scope::SINGLETON;
115 }
116 }
117