教你PHP框架配置类的设计
我们以TimoPHP框架为例来说明:
配置分为运行时(runtime)配置和一般配置
获取配置
Config::get('store.qiniu.key');
获取运行时配置
方式一:
Config::get('runtime.cache.path');
方式二:
Config::runtime('cache.path');
配置目录
单环境
/project
|--app
|--config
|--common.config.php
|--store.config.php
|--site.config.php
多环境(开发项目一般用这种)
dev:开发环境
test:测试环境
pro:线上环境
/project
|--app
|--config
|--dev
|--runtime.config.php
|--store.config.php
|--pro
|--runtime.config.php
|--store.config.php
|--test
|--runtime.config.php
|--store.config.php
有人问多环境怎么配置
很简单,在入口文件indexphp定义一个常量EVN即可:
define('ENV', 'dev');
加载一个文件合并到运行时配置
Config::load('site', 'runtime');
设置之后,就可以这样获取site配置文件里面的"web_url"这一配置项了:
Config::runtime('web_url');
如果我们不合并到runtime,也可以这样读取:
Config::get(site.web_url);
具体类可以看TimoPHP框架src/Config/Config.php
电脑访问:教你PHP框架配置类的设计