| Total Complexity | 7 |
| Total Lines | 38 |
| Duplicated Lines | 0 % |
| Coverage | 100% |
| Changes | 1 | ||
| Bugs | 0 | Features | 0 |
| 1 | <?php |
||
| 7 | class Environment extends KeyValue |
||
| 8 | { |
||
| 9 | private const TRANSFORM = [ |
||
| 10 | 'true' => true, |
||
| 11 | '(true)' => true, |
||
| 12 | 'false' => false, |
||
| 13 | '(false)' => false, |
||
| 14 | 'null' => null, |
||
| 15 | '(null)' => null, |
||
| 16 | 'empty' => '', |
||
| 17 | '(empty)' => '', |
||
| 18 | ]; |
||
| 19 | |||
| 20 | 6 | public function __construct(array $params) |
|
| 21 | { |
||
| 22 | 6 | foreach ($params as $key => $value) { |
|
| 23 | 3 | $params[$key] = self::transform($value); |
|
| 24 | } |
||
| 25 | 6 | parent::__construct($params); |
|
| 26 | 6 | } |
|
| 27 | |||
| 28 | 3 | private static function transform($value) |
|
| 29 | { |
||
| 30 | 3 | if (is_string($value)) { |
|
| 31 | 3 | if (preg_match('/\A([\'"])(.*)\1\z/', $value, $matches)) { |
|
| 32 | 3 | $value = $matches[2]; |
|
| 33 | } |
||
| 34 | 3 | $value = self::transformString($value); |
|
| 35 | } |
||
| 36 | 3 | return $value; |
|
| 37 | } |
||
| 38 | |||
| 39 | 3 | private static function transformString(string $value) |
|
| 45 | } |
||
| 46 | } |
||
| 47 |