1 | <?php declare(strict_types=1); |
||
12 | class ConfigBuilder |
||
13 | { |
||
14 | const DEFAULT_ENV = '##default##'; |
||
15 | |||
16 | private $header = ''; |
||
17 | |||
18 | private $environments = []; |
||
19 | |||
20 | /** |
||
21 | * @var string|null |
||
22 | */ |
||
23 | private $currentEnvironment; |
||
24 | |||
25 | private $currentCommandPaths; |
||
26 | |||
27 | private $currentDotenvPaths; |
||
28 | |||
29 | private $currentDynamicVariables; |
||
30 | |||
31 | private $templates; |
||
32 | |||
33 | private $currentConstants; |
||
34 | |||
35 | private $hidden; |
||
36 | |||
37 | private $currentRequiredVariables; |
||
38 | |||
39 | private $imports; |
||
40 | |||
41 | /** |
||
42 | * @var string |
||
43 | */ |
||
44 | private $workingDirectory; |
||
45 | |||
46 | public function setHeader(?string $header = null): ConfigBuilder |
||
52 | |||
53 | public function setWorkingDirectory(string $workingDirectory): ConfigBuilder |
||
59 | |||
60 | public function start(?string $environment = null): ConfigBuilder |
||
71 | |||
72 | public function setHidden(bool $set): ConfigBuilder |
||
78 | |||
79 | public function setCommandPaths(array $commandPaths): ConfigBuilder |
||
95 | |||
96 | /** |
||
97 | * @deprecated only used by yaml builder |
||
98 | */ |
||
99 | public function setDotenvPaths(array $dotenvPaths): ConfigBuilder |
||
109 | |||
110 | public function addDotenvPath(string $dotenvPath): ConfigBuilder |
||
116 | |||
117 | public function addRequirePlaceholder(string $name, ?string $description = null): ConfigBuilder |
||
123 | |||
124 | /** |
||
125 | * @deprecated only used by yaml builder |
||
126 | */ |
||
127 | public function setDynamicVariables(array $dynamicVariables): ConfigBuilder |
||
133 | |||
134 | public function addDynamicVariable(string $key, string $value): ConfigBuilder |
||
140 | |||
141 | /** |
||
142 | * @deprecated only used by yaml builder |
||
143 | */ |
||
144 | public function setConstants(array $constants): ConfigBuilder |
||
150 | |||
151 | public function addConstVariable(string $key, string $value): ConfigBuilder |
||
157 | |||
158 | public function addImport(string $path): self |
||
164 | |||
165 | public function setTemplates(array $templates): ConfigBuilder |
||
171 | |||
172 | public function create(array $params): Config |
||
178 | |||
179 | private function reset(): void |
||
203 | } |
||
204 |
In PHP, under loose comparison (like
==
, or!=
, orswitch
conditions), values of different types might be equal.For
string
values, the empty string''
is a special case, in particular the following results might be unexpected: