Passed
Push — master ( 22a5db...795c19 )
by smiley
02:05
created

DotEnv::load()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 2
Code Lines 1

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
eloc 1
nc 1
nop 1
dl 0
loc 2
rs 10
c 0
b 0
f 0
1
<?php
2
/**
3
 * Class DotEnv
4
 *
5
 * @filesource   DotEnv.php
6
 * @created      25.11.2017
7
 * @package      chillerlan\Traits
8
 * @author       Smiley <[email protected]>
9
 * @copyright    2017 Smiley
10
 * @license      MIT
11
 */
12
13
namespace chillerlan\Traits;
14
15
class DotEnv{
16
	use Env;
17
18
	/**
19
	 * @var string
20
	 */
21
	protected $path;
22
23
	/**
24
	 * @var string
25
	 */
26
	protected $filename;
27
28
	/**
29
	 * DotEnv constructor.
30
	 *
31
	 * @param string      $path
32
	 * @param string|null $filename
33
	 */
34
	public function __construct(string $path, string $filename = null){
35
		$this->path     = $path;
36
		$this->filename = $filename;
37
	}
38
39
	/**
40
	 * @param array|null $required
41
	 *
42
	 * @return \chillerlan\Traits\DotEnv
43
	 */
44
	public function load(array $required = null):DotEnv{
45
		return $this->__loadEnv($this->path, $this->filename, true, $required);
46
	}
47
48
	/**
49
	 * @param string      $path
50
	 * @param string|null $filename
51
	 * @param bool|null   $overwrite
52
	 * @param array|null  $required
53
	 *
54
	 * @return \chillerlan\Traits\DotEnv
55
	 */
56
	public function addEnv(string $path, string $filename = null, bool $overwrite = null, array $required = null):DotEnv{
57
		return $this->__loadEnv($path, $filename, $overwrite, $required);
58
	}
59
60
	/**
61
	 * @param string $var
62
	 *
63
	 * @return bool|mixed
64
	 */
65
	public function get(string $var){
66
		return $this->__getEnv($var);
67
	}
68
69
	/**
70
	 * @param string $var
71
	 * @param string $value
72
	 *
73
	 * @return $this
74
	 */
75
	public function set(string $var, string $value){
76
		return $this->__setEnv($var, $value);
77
	}
78
79
	/**
80
	 * @param string $var
81
	 *
82
	 * @return \chillerlan\Traits\DotEnv
83
	 */
84
	public function unset(string $var):DotEnv{
85
		return $this->__unsetEnv($var);
86
	}
87
88
	/**
89
	 * @return \chillerlan\Traits\DotEnv
90
	 */
91
	public function clear():DotEnv{
92
		return $this->__clearEnv();
93
	}
94
95
}
96