RT.
现在,有两个模块,一个是后台管理模块Admin,一个是前台展示模块Home。两个模块在配置上有重合,例如说是服务器数据库连接的配置方面。
配置的方法是,对于重合的配置,可在入口文件同级别目录下新建一个config.inc.php文件,进行配置:
<?php
return array(
'DB_TYPE' => 'mysql', //数据库类型
'DB_HOST'=>'localhost',//数据库主机地址
'DB_NAME'=>'17joysdb',//数据库名称
'DB_USER'=>'root',//数据库用户名
'DB_PWD'=>'root',//数据库密码
'DB_PREFIX'=>'joys_',//ThinkPHP表前缀
'DB_CHARSET'=>'utf8',//数据库编码
);
ThinkPHP的配置是以数组的方式返回。任何两个模块通用的配置都可以写在这个文件中。
然后,对应模块的的特殊配置可以到对应模块的文件目录下Home(Admin)/conf/config.php文件中进行配置,然后通过array_merge方法将两个数组合并到一起返回。
<?php
$config = require './config.inc.php'; //包含公共配置文件,其中路径以项目文件为根目录
$array = array( //Admin模块的配置数组
//'配置项'=>'配置值'
'PAGESIZE' => 10,
'MODULES'=>array(
'Menu'=>'Menu',
'LatestNews'=>'NewestNews'
),
'APP_GROUP_LIST'=>'Home, Admin',
'DEFAULT_GROUP'=>'Admin',
);
return array_merge($config, $array); //返回合并的两个数组
而Home模块下面的Home/conf/config.php也是同样的道理。
通过分离公共配置与独立配置,可以最大限度地降低配置修改的成本。