配置加载

一般情况下应用的配置是自动加载的,加载的顺序是:

默认配置 -> 应用配置 -> 扩展配置 -> 模块配置

以上是配置的加载顺序,因为后面的配置会覆盖之前的同名配置,所以配置的优先顺序从右到左。

下面说明下不同配置的区别和位置:


默认配置

框架内置有一个默认配置文件,位于 ginkgo/convention.php,对常用参数进行了配置。应用只需要配置和默认不同的或者额外的参数,如果完全采用默认配置也是可以使得应用顺利执行。

建议仔细阅读系统的默认配置中的相关配置参数,了解系统默认的配置参数。


应用配置

应用配置是应用初始化的时候首先加载的公共配置,默认位于 app/config/config.inc.php

另外还有一个特殊的配置文件:dbconfig.inc.php,称之为独立配置文件,此文件用于配置数据库连接,如果不存在此文件,系统将采用公共配置中的 dbconfig 分支,dbconfig.inc.php 中的配置优先。


扩展配置

扩展配置文件是由 config_extra 配置参数定义的额外的配置文件。

如果存在 extra_smtp.inc.phpextra_upload.inc.phpextra_ftp.inc.php 这几个独立配置文件,系统会自动加载。如果不存在这些文件,系统将采用公共配置中的 var_extra 下的各个分支,独立配置文件中的配置优先。


模块配置

每个模块会自动加载自己的配置,位于 app/config/当前模块名/common.inc.php,模块配置是可选的

模块还可以支持额外配置,命名规范为:app/config/当前模块名/额外配置.inc.php,额外配置需要手动加载。

如果应用的配置比较大,想分成几个单独的配置或者需要加载额外的配置,可以考虑采用手动加载或者动态配置(参考后面的描述)。


加载配置

配置一般位于 GK_PATH_APP 目录下面,加载配置需要使用完整路径,例如:

  1. Config::load(GK_PATH_APP . 'config/config.inc.php');

系统默认的配置定义格式是 PHP 返回数组的方式,例如:

  1. return array(
  2. '配置参数1' => '配置值',
  3. '配置参数1' => '配置值',
  4. // ... 更多配置
  5. );