You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
55 lines
1.0 KiB
55 lines
1.0 KiB
7 months ago
|
<?php
|
||
|
// namespace TestSuite;
|
||
|
|
||
|
/**
|
||
|
* 配置信息
|
||
|
*/
|
||
|
class Config
|
||
|
{
|
||
|
protected $config;
|
||
|
|
||
|
/**
|
||
|
* 读取并加载配置文件
|
||
|
*
|
||
|
* @throws \Exception
|
||
|
*/
|
||
|
public function __construct()
|
||
|
{
|
||
|
$configFile = dirname(__DIR__) . '/config.json';
|
||
|
if (!file_exists($configFile)) {
|
||
|
throw new \Exception('缺少config.json文件!');
|
||
|
}
|
||
|
|
||
|
$config = json_decode(file_get_contents($configFile), true);
|
||
|
if (count($config) == 0) {
|
||
|
throw new \Exception('config.json文件格式不正确!');
|
||
|
}
|
||
|
|
||
|
foreach($config as $key=>$val) {
|
||
|
$this->set($key, $val);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* 获取配置信息
|
||
|
*
|
||
|
* @param string $name Name of configuration attribute/value
|
||
|
* @return string|integer|float|boolean|array
|
||
|
*/
|
||
|
public function get($name)
|
||
|
{
|
||
|
return $this->config[$name] ?: null;
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* 设置配置信息
|
||
|
*
|
||
|
* @param string $name Name of value
|
||
|
* @param string|boolean|integer|float|array $value Value to set
|
||
|
*/
|
||
|
public function set($name, $value)
|
||
|
{
|
||
|
$this->config[$name] = $value;
|
||
|
}
|
||
|
}
|