# 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 (组件编号 - 文件编号 - 代码内异常) ``` - 无 ```