Added illuminate/support and Fluent Interface to Config

main
Igor Scheller 7 years ago
parent ddadaada9d
commit e0b58d2a7d

@ -17,6 +17,7 @@
"php": ">=7.0.0", "php": ">=7.0.0",
"erusev/parsedown": "^1.6", "erusev/parsedown": "^1.6",
"illuminate/container": "5.5.*", "illuminate/container": "5.5.*",
"illuminate/support": "^5.5",
"psr/container": "^1.0", "psr/container": "^1.0",
"psr/log": "^1.0", "psr/log": "^1.0",
"symfony/http-foundation": "^3.3", "symfony/http-foundation": "^3.3",

@ -2,14 +2,16 @@
namespace Engelsystem\Config; namespace Engelsystem\Config;
class Config use Illuminate\Support\Fluent;
class Config extends Fluent
{ {
/** /**
* The config values * The config values
* *
* @var array * @var array
*/ */
protected $data = []; protected $attributes = [];
/** /**
* @param string|null $key * @param string|null $key
@ -19,11 +21,11 @@ class Config
public function get($key, $default = null) public function get($key, $default = null)
{ {
if (is_null($key)) { if (is_null($key)) {
return $this->data; return $this->attributes;
} }
if ($this->has($key)) { if ($this->has($key)) {
return $this->data[$key]; return $this->attributes[$key];
} }
return $default; return $default;
@ -43,7 +45,7 @@ class Config
return; return;
} }
$this->data[$key] = $value; $this->attributes[$key] = $value;
} }
/** /**
@ -52,7 +54,7 @@ class Config
*/ */
public function has($key) public function has($key)
{ {
return isset($this->data[$key]); return $this->offsetExists($key);
} }
/** /**
@ -60,41 +62,6 @@ class Config
*/ */
public function remove($key) public function remove($key)
{ {
unset($this->data[$key]); $this->offsetUnset($key);
}
/**
* @param string $key
* @return mixed
*/
public function __get($key)
{
return $this->get($key);
}
/**
* @param string $key
* @param mixed $value
*/
public function __set($key, $value)
{
$this->set($key, $value);
}
/**
* @param string $key
* @return bool
*/
public function __isset($key)
{
return $this->has($key);
}
/**
* @param string $key
*/
public function __unset($key)
{
$this->remove($key);
} }
} }

@ -64,21 +64,6 @@ function config_path($path = '')
return app('path.config') . (empty($path) ? '' : DIRECTORY_SEPARATOR . $path); return app('path.config') . (empty($path) ? '' : DIRECTORY_SEPARATOR . $path);
} }
/**
* @param string $key
* @param mixed $default
* @return mixed
*/
function env($key, $default = null)
{
$value = getenv($key);
if ($value === false) {
return $default;
}
return $value;
}
/** /**
* @param string $key * @param string $key
* @param mixed $default * @param mixed $default

Loading…
Cancel
Save