TimoPHP里面的配置分为《运行时配置》和《自定义配置》,运行时配置在框架初始化时自动加载,自定义配置在程序用到的时候才会自动加载
TimoPHP还支持多环境配置,配置分开各不影响,比如:
开发环境(dev)
测试环境(test)
线上环境(pro)
推荐使用多环境来开发项目,当然,如果是小项目的话,单一环境也没问题。
运行时配置文件在框架初始化的时候被加载
1、框架初始配置文件 TimoPHP/src/config/config.php
2、项目配置文件 /config/dev/common.config.php
3、数据库配置文件 /config/dev/db.config.php
4、应用配置文件 /app/某个应用/config.php
自定义配置就是项目开发过程中增加的额外的配置,我们会用到云存储(七牛、OSS)、微信开发、支付宝支付等等,就会有相关配置,比如存储,我们
可以增加一个配置文件,叫store.config.php
位置:
/config/dev/store.config.php
如果我们配置不多的话,可以将这些配置都放到common.config.php里面作为运行时配置,所有地方都可以用
存放在项目根目录下面的config文件夹里面:
/config
|dev
|--common.config.php
|--db.config.php
|pro
|--common.config.php
|--db.config.php
|test
|--common.config.php
|--db.config.php
应用配置文件是针对某个应用的,每个应用都有自己的配置文件,存放在应用目录下面的config.php文件,如api应用的配置文件:
/app/api/config.php
return [
'url' => [
'mode' => 2,
'join' => '/',
'ext' => '/',
],
];
如果该应用没有要单独配置的配置项,该文件也可以删掉
1、db.config.php 数据库配置文件,框架会自动加载
2、common.config.php 公共配置文件,可以不要,如果存在,会被自动加载
3、cache_key.config.php 缓存key配置文件,如:Redis缓存,不会自动加载,自定义的
4、site.config.php 网站相关设置配置,不会自动加载,自定义的
5、更多自定义配置
一般我们设置三个环境:开发环境(dev)、测试环境(test)、正式环境(pro),在入口文件定义ENV常量,如:
define('ENV', $_SERVER['HTTP_HOST'] == 'api.timophp.com' ? 'pro' : ($_SERVER['HTTP_HOST'] == 't.api.timophp.com' ? 'test' : 'dev'));
如果定义了ENV常量,那么配置文件就要分成三组存放了,如下:
/config
|--dev
| |--common.config.php
| |--db.config.php
|--pro
| |--common.config.php
| |--db.config.php
|--test
| |--common.config.php
| |--db.config.php
|--cache_key.config.php
cache_key.config.php redis缓存key,统一配置,方便管理,是多个环境共用的,所以就直接放在了config目录下面