PluginProbe
Cookiebot by Usercentrics – Automatic Cookie Banner for GDPR/CCPA & Google Consent Mode / 3.11.1
Cookiebot by Usercentrics – Automatic Cookie Banner for GDPR/CCPA & Google Consent Mode v3.11.1
4.7.4 4.7.5 4.7.3 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 All 95 releases
cookiebot / addons / inc / Dependencies / DI / Definition / EnvironmentVariableDefinition.php

EnvironmentVariableDefinition.php in Cookiebot by Usercentrics – Automatic Cookie Banner for GDPR/CCPA & Google Consent Mode 3.11.1, at addons/inc/Dependencies/DI/Definition/EnvironmentVariableDefinition.php

117 lines 2.7 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
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 <[email protected]>
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