配置文件


说明

TimoPHP里面的配置分为《运行时配置》和《自定义配置》,运行时配置在框架初始化时自动加载,自定义配置在程序用到的时候才会自动加载

多环境

TimoPHP还支持多环境配置,配置分开各不影响,比如:
开发环境(dev)
测试环境(test)
线上环境(pro)
推荐使用多环境来开发项目,当然,如果是小项目的话,单一环境也没问题。

下面我们以dev环境来做说明

运行时配置

运行时配置文件在框架初始化的时候被加载

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目录下面