@@ -21,7 +21,7 @@ discard block |
||
21 | 21 | * @link http://php.net/variables-order |
22 | 22 | * |
23 | 23 | */ |
24 | -trait Env{ |
|
24 | +trait Env { |
|
25 | 25 | |
26 | 26 | /** |
27 | 27 | * a backup environment in case everything goes downhill |
@@ -47,7 +47,7 @@ discard block |
||
47 | 47 | * |
48 | 48 | * @return $this |
49 | 49 | */ |
50 | - protected function __loadEnv(string $path, string $filename = null, bool $overwrite = null, array $required = null, bool $global = null){ |
|
50 | + protected function __loadEnv(string $path, string $filename = null, bool $overwrite = null, array $required = null, bool $global = null) { |
|
51 | 51 | $this->_global = $global !== null ? $global : false; |
52 | 52 | $content = $this->__read(rtrim($path, DIRECTORY_SEPARATOR).DIRECTORY_SEPARATOR.($filename ?? '.env')); |
53 | 53 | |
@@ -62,20 +62,20 @@ discard block |
||
62 | 62 | * |
63 | 63 | * @return bool|mixed |
64 | 64 | */ |
65 | - protected function __getEnv(string $var){ |
|
65 | + protected function __getEnv(string $var) { |
|
66 | 66 | $var = strtoupper($var); |
67 | 67 | $env = null; |
68 | 68 | |
69 | - if($this->_global === true){ |
|
69 | + if ($this->_global === true) { |
|
70 | 70 | |
71 | - if(array_key_exists($var, $_ENV)){ |
|
71 | + if (array_key_exists($var, $_ENV)) { |
|
72 | 72 | $env = $_ENV[$var]; |
73 | 73 | } |
74 | - elseif(function_exists('getenv')){ |
|
74 | + elseif (function_exists('getenv')) { |
|
75 | 75 | $env = getenv($var); |
76 | 76 | } |
77 | 77 | // @codeCoverageIgnoreStart |
78 | - elseif(function_exists('apache_getenv')){ |
|
78 | + elseif (function_exists('apache_getenv')) { |
|
79 | 79 | $env = apache_getenv($var); |
80 | 80 | } |
81 | 81 | // @codeCoverageIgnoreEnd |
@@ -91,18 +91,18 @@ discard block |
||
91 | 91 | * |
92 | 92 | * @return $this |
93 | 93 | */ |
94 | - protected function __setEnv(string $var, string $value = null){ |
|
94 | + protected function __setEnv(string $var, string $value = null) { |
|
95 | 95 | $var = strtoupper($var); |
96 | 96 | $value = $this->__parse($value); |
97 | 97 | |
98 | - if($this->_global === true){ |
|
98 | + if ($this->_global === true) { |
|
99 | 99 | putenv($var.'='.$value); |
100 | 100 | |
101 | 101 | // fill $_ENV explicitly, assuming variables_order="GPCS" (production) |
102 | 102 | $_ENV[$var] = $value; |
103 | 103 | |
104 | 104 | // @codeCoverageIgnoreStart |
105 | - if(function_exists('apache_setenv')){ |
|
105 | + if (function_exists('apache_setenv')) { |
|
106 | 106 | apache_setenv($var, $value); |
107 | 107 | } |
108 | 108 | // @codeCoverageIgnoreEnd |
@@ -119,10 +119,10 @@ discard block |
||
119 | 119 | * |
120 | 120 | * @return $this |
121 | 121 | */ |
122 | - protected function __unsetEnv(string $var){ |
|
122 | + protected function __unsetEnv(string $var) { |
|
123 | 123 | $var = strtoupper($var); |
124 | 124 | |
125 | - if($this->_global === true){ |
|
125 | + if ($this->_global === true) { |
|
126 | 126 | unset($_ENV[$var]); |
127 | 127 | putenv($var); |
128 | 128 | } |
@@ -137,9 +137,9 @@ discard block |
||
137 | 137 | * |
138 | 138 | * @return $this |
139 | 139 | */ |
140 | - protected function __clearEnv(){ |
|
140 | + protected function __clearEnv() { |
|
141 | 141 | |
142 | - if($this->_global === true){ |
|
142 | + if ($this->_global === true) { |
|
143 | 143 | $_ENV = []; |
144 | 144 | } |
145 | 145 | |
@@ -156,7 +156,7 @@ discard block |
||
156 | 156 | */ |
157 | 157 | private function __read(string $file):array{ |
158 | 158 | |
159 | - if(!is_readable($file) || !is_file($file)){ |
|
159 | + if (!is_readable($file) || !is_file($file)) { |
|
160 | 160 | throw new TraitException('invalid file: '.$file); |
161 | 161 | } |
162 | 162 | |
@@ -166,7 +166,7 @@ discard block |
||
166 | 166 | $lines = file($file, FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES); |
167 | 167 | ini_set('auto_detect_line_endings', $autodetect); |
168 | 168 | |
169 | - if(!is_array($lines) || empty($lines)){ |
|
169 | + if (!is_array($lines) || empty($lines)) { |
|
170 | 170 | throw new TraitException('error while reading file: '.$file); |
171 | 171 | } |
172 | 172 | |
@@ -179,19 +179,19 @@ discard block |
||
179 | 179 | * |
180 | 180 | * @return $this |
181 | 181 | */ |
182 | - private function __load(array $data, bool $overwrite){ |
|
182 | + private function __load(array $data, bool $overwrite) { |
|
183 | 183 | |
184 | - foreach($data as $line){ |
|
184 | + foreach ($data as $line) { |
|
185 | 185 | |
186 | 186 | // skip empty lines and comments |
187 | - if(empty($line) || strpos($line, '#') === 0){ |
|
187 | + if (empty($line) || strpos($line, '#') === 0) { |
|
188 | 188 | continue; |
189 | 189 | } |
190 | 190 | |
191 | 191 | $kv = array_map('trim', explode('=', $line, 2)); |
192 | 192 | |
193 | 193 | // skip empty and numeric keys, keys with spaces, existing keys that shall not be overwritten |
194 | - if(empty($kv[0]) || is_numeric($kv[0]) || strpos($kv[0], ' ') !== false || (!$overwrite && $this->__getEnv($kv[0]) !== false)){ |
|
194 | + if (empty($kv[0]) || is_numeric($kv[0]) || strpos($kv[0], ' ') !== false || (!$overwrite && $this->__getEnv($kv[0]) !== false)) { |
|
195 | 195 | continue; |
196 | 196 | } |
197 | 197 | |
@@ -206,9 +206,9 @@ discard block |
||
206 | 206 | * |
207 | 207 | * @return string|null |
208 | 208 | */ |
209 | - private function __parse(string $value = null){ |
|
209 | + private function __parse(string $value = null) { |
|
210 | 210 | |
211 | - if($value !== null){ |
|
211 | + if ($value !== null) { |
|
212 | 212 | |
213 | 213 | $q = $value[0] ?? null; |
214 | 214 | |
@@ -222,8 +222,8 @@ discard block |
||
222 | 222 | $value = implode(PHP_EOL, explode('\\n', $value)); |
223 | 223 | |
224 | 224 | // handle nested ${VARS} |
225 | - if(strpos($value, '$') !== false){ |
|
226 | - $value = preg_replace_callback('/\${(?<var>[_a-z\d]+)}/i', function($matches){ |
|
225 | + if (strpos($value, '$') !== false) { |
|
226 | + $value = preg_replace_callback('/\${(?<var>[_a-z\d]+)}/i', function($matches) { |
|
227 | 227 | return $this->__getEnv($matches['var']); |
228 | 228 | }, $value); |
229 | 229 | } |
@@ -239,14 +239,14 @@ discard block |
||
239 | 239 | * @return $this |
240 | 240 | * @throws \chillerlan\Traits\TraitException |
241 | 241 | */ |
242 | - private function __check(array $required = null){ |
|
242 | + private function __check(array $required = null) { |
|
243 | 243 | |
244 | - if($required === null || empty($required)){ |
|
244 | + if ($required === null || empty($required)) { |
|
245 | 245 | return $this; |
246 | 246 | } |
247 | 247 | |
248 | - foreach($required as $var){ |
|
249 | - if($this->__getEnv($var) === false || $this->__getEnv($var) === null){ |
|
248 | + foreach ($required as $var) { |
|
249 | + if ($this->__getEnv($var) === false || $this->__getEnv($var) === null) { |
|
250 | 250 | throw new TraitException('required variable not set: '.strtoupper($var)); |
251 | 251 | } |
252 | 252 | } |
@@ -70,8 +70,7 @@ |
||
70 | 70 | |
71 | 71 | if(array_key_exists($var, $_ENV)){ |
72 | 72 | $env = $_ENV[$var]; |
73 | - } |
|
74 | - elseif(function_exists('getenv')){ |
|
73 | + } elseif(function_exists('getenv')){ |
|
75 | 74 | $env = getenv($var); |
76 | 75 | } |
77 | 76 | // @codeCoverageIgnoreStart |
@@ -23,7 +23,7 @@ discard block |
||
23 | 23 | * @method void unset(string $var) |
24 | 24 | * @method DotEnv clear() |
25 | 25 | */ |
26 | -class DotEnv{ |
|
26 | +class DotEnv { |
|
27 | 27 | use Env{ |
28 | 28 | // allow a magic getter & setter |
29 | 29 | __getEnv as public __get; |
@@ -57,7 +57,7 @@ discard block |
||
57 | 57 | * @param string|null $filename |
58 | 58 | * @param bool|null $global |
59 | 59 | */ |
60 | - public function __construct(string $path, string $filename = null, bool $global = null){ |
|
60 | + public function __construct(string $path, string $filename = null, bool $global = null) { |
|
61 | 61 | $this->path = $path; |
62 | 62 | $this->filename = $filename; |
63 | 63 | $this->_global = $global ?? true; // emulate vlucas/dotenv behaviour by default |
@@ -17,7 +17,7 @@ discard block |
||
17 | 17 | /** |
18 | 18 | * @extends \SplFixedArray |
19 | 19 | */ |
20 | -class ByteArray extends SplFixedArray{ |
|
20 | +class ByteArray extends SplFixedArray { |
|
21 | 21 | |
22 | 22 | /** |
23 | 23 | * @return string |
@@ -30,7 +30,7 @@ discard block |
||
30 | 30 | * @return string |
31 | 31 | */ |
32 | 32 | public function toHex():string{ |
33 | - return $this->map(function($v){ |
|
33 | + return $this->map(function($v) { |
|
34 | 34 | return str_pad(dechex($v), '2', '0', STR_PAD_LEFT); |
35 | 35 | }); |
36 | 36 | } |
@@ -53,7 +53,7 @@ discard block |
||
53 | 53 | * @return string |
54 | 54 | */ |
55 | 55 | public function toBin():string{ |
56 | - return $this->map(function($v){ |
|
56 | + return $this->map(function($v) { |
|
57 | 57 | return str_pad(decbin($v), '8', '0', STR_PAD_LEFT); |
58 | 58 | }); |
59 | 59 | } |
@@ -82,11 +82,11 @@ discard block |
||
82 | 82 | |
83 | 83 | $diff = $offset + $length; |
84 | 84 | |
85 | - if($diff > $this->count()){ |
|
85 | + if ($diff > $this->count()) { |
|
86 | 86 | $this->setSize($diff); |
87 | 87 | } |
88 | 88 | |
89 | - for($i = 0; $i < $length; $i++){ |
|
89 | + for ($i = 0; $i < $length; $i++) { |
|
90 | 90 | $this[$i + $offset] = $src[$i + $srcOffset]; |
91 | 91 | } |
92 | 92 | |
@@ -103,9 +103,9 @@ discard block |
||
103 | 103 | |
104 | 104 | // keep an extended class |
105 | 105 | /** @var \chillerlan\Traits\ArrayHelpers\ByteArray $slice */ |
106 | - $slice = (new ReflectionClass($this))->newInstanceArgs([$length ?? ($this->count() - $offset)]); |
|
106 | + $slice = (new ReflectionClass($this))->newInstanceArgs([$length ?? ($this->count() - $offset)]); |
|
107 | 107 | |
108 | - foreach($slice as $i => $_){ |
|
108 | + foreach ($slice as $i => $_) { |
|
109 | 109 | $slice[$i] = $this[$offset + $i]; |
110 | 110 | } |
111 | 111 | |
@@ -119,13 +119,13 @@ discard block |
||
119 | 119 | */ |
120 | 120 | public function equal(SplFixedArray $array):bool{ |
121 | 121 | |
122 | - if($this->count() !== $array->count()){ |
|
122 | + if ($this->count() !== $array->count()) { |
|
123 | 123 | return false; |
124 | 124 | } |
125 | 125 | |
126 | 126 | $diff = 0; |
127 | 127 | |
128 | - foreach($this as $k => $v){ |
|
128 | + foreach ($this as $k => $v) { |
|
129 | 129 | $diff |= $v ^ $array[$k]; |
130 | 130 | } |
131 | 131 |
@@ -17,7 +17,7 @@ discard block |
||
17 | 17 | * |
18 | 18 | * @link http://php.net/manual/class.arrayaccess.php |
19 | 19 | */ |
20 | -trait ArrayAccessTrait{ |
|
20 | +trait ArrayAccessTrait { |
|
21 | 21 | |
22 | 22 | /** |
23 | 23 | * @var array |
@@ -41,7 +41,7 @@ discard block |
||
41 | 41 | * @link http://php.net/manual/arrayaccess.offsetget.php |
42 | 42 | * @inheritdoc |
43 | 43 | */ |
44 | - public function offsetGet($offset){ |
|
44 | + public function offsetGet($offset) { |
|
45 | 45 | return $this->array[$offset] ?? null; |
46 | 46 | } |
47 | 47 | |
@@ -49,7 +49,7 @@ discard block |
||
49 | 49 | * @link http://php.net/manual/arrayaccess.offsetset.php |
50 | 50 | * @inheritdoc |
51 | 51 | */ |
52 | - public function offsetSet($offset, $value){ |
|
52 | + public function offsetSet($offset, $value) { |
|
53 | 53 | |
54 | 54 | $offset !== null |
55 | 55 | ? $this->array[$offset] = $value |
@@ -60,7 +60,7 @@ discard block |
||
60 | 60 | * @link http://php.net/manual/arrayaccess.offsetunset.php |
61 | 61 | * @inheritdoc |
62 | 62 | */ |
63 | - public function offsetUnset($offset){ |
|
63 | + public function offsetUnset($offset) { |
|
64 | 64 | unset($this->array[$offset]); |
65 | 65 | } |
66 | 66 |
@@ -14,7 +14,7 @@ |
||
14 | 14 | |
15 | 15 | use Closure; |
16 | 16 | |
17 | -interface EnumerableInterface{ |
|
17 | +interface EnumerableInterface { |
|
18 | 18 | |
19 | 19 | /** |
20 | 20 | * @return array |
@@ -15,7 +15,7 @@ discard block |
||
15 | 15 | /** |
16 | 16 | * @link http://api.prototypejs.org/language/Enumerable/ |
17 | 17 | */ |
18 | -trait Enumerable{ |
|
18 | +trait Enumerable { |
|
19 | 19 | |
20 | 20 | /** |
21 | 21 | * @var array |
@@ -45,7 +45,7 @@ discard block |
||
45 | 45 | * |
46 | 46 | * @return $this |
47 | 47 | */ |
48 | - public function __each($callback){ |
|
48 | + public function __each($callback) { |
|
49 | 49 | $this->__map($callback); |
50 | 50 | |
51 | 51 | return $this; |
@@ -62,13 +62,13 @@ discard block |
||
62 | 62 | */ |
63 | 63 | public function __map($callback):array { |
64 | 64 | |
65 | - if(!is_callable($callback)){ |
|
65 | + if (!is_callable($callback)) { |
|
66 | 66 | throw new TraitException('invalid callback'); |
67 | 67 | } |
68 | 68 | |
69 | 69 | $return = []; |
70 | 70 | |
71 | - foreach($this->array as $index => $element){ |
|
71 | + foreach ($this->array as $index => $element) { |
|
72 | 72 | $return[$index] = call_user_func_array($callback, [$element, $index]); |
73 | 73 | } |
74 | 74 | |
@@ -80,7 +80,7 @@ discard block |
||
80 | 80 | * |
81 | 81 | * @return $this |
82 | 82 | */ |
83 | - public function __reverse(){ |
|
83 | + public function __reverse() { |
|
84 | 84 | $this->array = array_reverse($this->array); |
85 | 85 | $this->offset = 0; |
86 | 86 | |
@@ -90,14 +90,14 @@ discard block |
||
90 | 90 | /** |
91 | 91 | * @return mixed |
92 | 92 | */ |
93 | - public function __last(){ |
|
93 | + public function __last() { |
|
94 | 94 | return $this->array[count($this->array) - 1]; |
95 | 95 | } |
96 | 96 | |
97 | 97 | /** |
98 | 98 | * @return $this |
99 | 99 | */ |
100 | - public function __clear(){ |
|
100 | + public function __clear() { |
|
101 | 101 | $this->array = []; |
102 | 102 | |
103 | 103 | return $this; |
@@ -122,15 +122,15 @@ discard block |
||
122 | 122 | */ |
123 | 123 | public function __findAll(callable $callback):array{ |
124 | 124 | |
125 | - if(!is_callable($callback)){ |
|
125 | + if (!is_callable($callback)) { |
|
126 | 126 | throw new TraitException('invalid callback'); |
127 | 127 | } |
128 | 128 | |
129 | 129 | $return = []; |
130 | 130 | |
131 | - foreach($this->array as $index => $element){ |
|
131 | + foreach ($this->array as $index => $element) { |
|
132 | 132 | |
133 | - if(call_user_func_array($callback, [$element, $index]) === true){ |
|
133 | + if (call_user_func_array($callback, [$element, $index]) === true) { |
|
134 | 134 | $return[] = $element; |
135 | 135 | } |
136 | 136 | |
@@ -149,15 +149,15 @@ discard block |
||
149 | 149 | */ |
150 | 150 | public function __reject(callable $callback):array{ |
151 | 151 | |
152 | - if(!is_callable($callback)){ |
|
152 | + if (!is_callable($callback)) { |
|
153 | 153 | throw new TraitException('invalid callback'); |
154 | 154 | } |
155 | 155 | |
156 | 156 | $return = []; |
157 | 157 | |
158 | - foreach($this->array as $index => $element){ |
|
158 | + foreach ($this->array as $index => $element) { |
|
159 | 159 | |
160 | - if(call_user_func_array($callback, [$element, $index]) !== true){ |
|
160 | + if (call_user_func_array($callback, [$element, $index]) !== true) { |
|
161 | 161 | $return[] = $element; |
162 | 162 | } |
163 | 163 | |
@@ -173,13 +173,13 @@ discard block |
||
173 | 173 | */ |
174 | 174 | public function __equal(array $y):bool{ |
175 | 175 | |
176 | - if(count($this->array) !== count($y)){ |
|
176 | + if (count($this->array) !== count($y)) { |
|
177 | 177 | return false; |
178 | 178 | } |
179 | 179 | |
180 | 180 | $diff = 0; |
181 | 181 | |
182 | - foreach($this->array as $kx => $vx){ |
|
182 | + foreach ($this->array as $kx => $vx) { |
|
183 | 183 | $diff |= $vx ^ $y[$kx]; |
184 | 184 | } |
185 | 185 |
@@ -13,7 +13,7 @@ |
||
13 | 13 | /** |
14 | 14 | * a generic container with magic getter and setter |
15 | 15 | */ |
16 | -interface ContainerInterface{ |
|
16 | +interface ContainerInterface { |
|
17 | 17 | |
18 | 18 | /** |
19 | 19 | * @param iterable $properties |
@@ -17,7 +17,7 @@ discard block |
||
17 | 17 | /** |
18 | 18 | * a generic container with magic getter and setter |
19 | 19 | */ |
20 | -trait Container{ |
|
20 | +trait Container { |
|
21 | 21 | |
22 | 22 | /** |
23 | 23 | * @var \chillerlan\Traits\DotEnv|null |
@@ -28,10 +28,10 @@ discard block |
||
28 | 28 | * @param iterable $properties |
29 | 29 | * @param \chillerlan\Traits\DotEnv|null $env |
30 | 30 | */ |
31 | - public function __construct(iterable $properties = null, DotEnv $env = null){ |
|
31 | + public function __construct(iterable $properties = null, DotEnv $env = null) { |
|
32 | 32 | $this->env = $env; |
33 | 33 | |
34 | - if(!empty($properties)){ |
|
34 | + if (!empty($properties)) { |
|
35 | 35 | $this->__fromIterable($properties); |
36 | 36 | } |
37 | 37 | |
@@ -42,12 +42,12 @@ discard block |
||
42 | 42 | * |
43 | 43 | * @return mixed |
44 | 44 | */ |
45 | - public function __get(string $property){ |
|
45 | + public function __get(string $property) { |
|
46 | 46 | |
47 | - if($this->__isset($property)){ |
|
47 | + if ($this->__isset($property)) { |
|
48 | 48 | return $this->{$property}; |
49 | 49 | } |
50 | - elseif($this->env instanceof DotEnv){ |
|
50 | + elseif ($this->env instanceof DotEnv) { |
|
51 | 51 | return $this->env->get($property); |
52 | 52 | } |
53 | 53 | |
@@ -60,13 +60,13 @@ discard block |
||
60 | 60 | * |
61 | 61 | * @return void |
62 | 62 | */ |
63 | - public function __set(string $property, $value){ |
|
63 | + public function __set(string $property, $value) { |
|
64 | 64 | |
65 | 65 | // avoid overwriting private properties |
66 | - if(property_exists($this, $property) && !$this->__isPrivate($property)){ |
|
66 | + if (property_exists($this, $property) && !$this->__isPrivate($property)) { |
|
67 | 67 | $this->{$property} = $value; |
68 | 68 | } |
69 | - elseif($this->env instanceof DotEnv){ |
|
69 | + elseif ($this->env instanceof DotEnv) { |
|
70 | 70 | $this->env->set($property, $value); |
71 | 71 | } |
72 | 72 | |
@@ -95,10 +95,10 @@ discard block |
||
95 | 95 | * |
96 | 96 | * @return void |
97 | 97 | */ |
98 | - public function __unset(string $property){ |
|
98 | + public function __unset(string $property) { |
|
99 | 99 | |
100 | 100 | // avoid unsetting private properties |
101 | - if($this->__isset($property)){ |
|
101 | + if ($this->__isset($property)) { |
|
102 | 102 | unset($this->{$property}); |
103 | 103 | } |
104 | 104 | |
@@ -117,10 +117,10 @@ discard block |
||
117 | 117 | public function __toArray():array{ |
118 | 118 | $data = []; |
119 | 119 | |
120 | - foreach($this as $property => $value){ |
|
120 | + foreach ($this as $property => $value) { |
|
121 | 121 | |
122 | 122 | // exclude private properties |
123 | - if($this->__isset($property)){ |
|
123 | + if ($this->__isset($property)) { |
|
124 | 124 | $data[$property] = $value; |
125 | 125 | } |
126 | 126 | |
@@ -134,9 +134,9 @@ discard block |
||
134 | 134 | * |
135 | 135 | * @return $this |
136 | 136 | */ |
137 | - public function __fromIterable(iterable $properties){ |
|
137 | + public function __fromIterable(iterable $properties) { |
|
138 | 138 | |
139 | - foreach($properties as $key => $value){ |
|
139 | + foreach ($properties as $key => $value) { |
|
140 | 140 | $this->__set($key, $value); |
141 | 141 | } |
142 | 142 | |
@@ -155,7 +155,7 @@ discard block |
||
155 | 155 | * |
156 | 156 | * @return $this |
157 | 157 | */ |
158 | - public function __fromJSON(string $json){ |
|
158 | + public function __fromJSON(string $json) { |
|
159 | 159 | return $this->__fromIterable(json_decode($json, true)); |
160 | 160 | } |
161 | 161 |
@@ -46,8 +46,7 @@ discard block |
||
46 | 46 | |
47 | 47 | if($this->__isset($property)){ |
48 | 48 | return $this->{$property}; |
49 | - } |
|
50 | - elseif($this->env instanceof DotEnv){ |
|
49 | + } elseif($this->env instanceof DotEnv){ |
|
51 | 50 | return $this->env->get($property); |
52 | 51 | } |
53 | 52 | |
@@ -65,8 +64,7 @@ discard block |
||
65 | 64 | // avoid overwriting private properties |
66 | 65 | if(property_exists($this, $property) && !$this->__isPrivate($property)){ |
67 | 66 | $this->{$property} = $value; |
68 | - } |
|
69 | - elseif($this->env instanceof DotEnv){ |
|
67 | + } elseif($this->env instanceof DotEnv){ |
|
70 | 68 | $this->env->set($property, $value); |
71 | 69 | } |
72 | 70 |