# php-config
## 描述
获取相关配置信息，可以单独使用

## 注意事项
 - 配置最终获取逻辑：读取分组，读取对应的环境配置进行对应分组的覆盖（不追加，所以分组配置必须写全，否则环境配置不会生效）
 - 配置读取默认文件为"application"
 - 配置读取默认为全部，可以指定获取文件中具体某个键值的配置
 - 在各个 "env" 配置覆盖遵循以下规则
   - 以文件为键值
   - 文件中没有的键值会被舍弃
 - 配置默认存放目录：./../conf/，可通过以下代码在入口文件改变
 - 如果值为数组，在环境中覆盖时必须将整个数组全部重新配置
 ```php
define("CONFIG_PATH", realpath(".") . "/conf");
```

 - 配置缓存默认存放目录：./../runtime/，可通过以下代码在入口文件改变
```php
define("RUNTIME_PATH", realpath(".") . "/runtime");
```

 - 环境配置存放路径： {$CONFIG_PATH}/env/{$PHP_ENV}.ini；环境变量可以通过以下代码在入口文件改变
```php
// 建议配置环境变量：dev、test、demo、product
define("PHP_ENV", "dev");
```

## 使用方法
```php
// 默认获取为"application"的无类型配置
$configs = Config::getInstance()->getAll();
var_dump($configs);
$configs = Config::getInstance("application")->getAll();
var_dump($configs);

// 获取具体文件所有配置
$configs = Config::getInstance("database", "master")->getAll();
var_dump($configs);
// 获取具体id的配置信息
$configs = Config::getInstance("database", "slave")->getById('dsn');
var_dump($configs);
```

## ====== 异常代码集合 ======

异常代码格式：1002 - XXX - XX （组件编号 - 文件编号 - 代码内异常）

```
 - 无
```