一、入口文件的配置
一般不建议在入口文件中做过多的配置,但可以重新定义一些系统常量。
1、APP_PATH
默认情况下,框架的项目应用目录为\Application。如果需要改变应用目录就需要在入口文件中更改APP_PATH常量定义。
// 定义应用目录
define(‘APP_PATH‘,‘./Application/‘);
2、APP_DEBUG
APP_DEBUG是对调试的配置,当设置为true的时候表示开启调试模式,当设置为false的时候表示关闭调试模式,而在默认情况下APP_DEBUG为开启状态。
// 开启调试模式 建议开发阶段开启 部署阶段注释或者设为false
define(‘APP_DEBUG‘,True);
建议在开发阶段将调试模式打开,但是在部署项目阶段一定要设置false或者注释掉,因为APP_DEBUG会暴露一部分程序内部信息。
二、配置文件的配置
在ThinkPHP中,应用的配置文件是自动加载的,其中主要配置文件的加载顺序是:
惯例配置 -> 应用配置 -> 调试配置 -> 模块配置
由于后面的配置会覆盖之前的同名配置,所以配置的优先级从右到左依次递减。有关配置的说明如下:
(1)、惯例配置
框架内置有一个惯例配置文件(ThinkPHP\Conf\convention.php),按照大多数的使用对常用参数进行了默认配置。所以,对于应用的配置文件,往往只需要配置与惯例配置不同的或者新增的配置参数,如果完全采用默认配置,甚至可以不需要定义任何配置文件。
(2)、应用配置
应用配置文件也就是调用所有模块之前都会首先加载的公共配置文件(Application\Common\Conf\config.php)。
(3)、调试配置
如果开启调试模式,则会自动加载框架的调试配置文件(ThinkPHP\Conf\debug.php)和应用调试配置文件(Application\Common\Conf\debug.php)。
(4)、模块配置
每个模块都会自动加载自己的配置文件(Application\当前模块名\Conf\config.php)。
常用配置:
(1)、修改默认访问配置
默认情况下,访问ThinkPHP的入口文件index.php,总是会访问到Home模块下的Index控制器的Index操作。它是在惯例配置文件中默认定义的,可以在应用配置文件(Application\Common\Conf\config.php)中进行修改。
<?php
return array(
‘DEFAULT_MODULE‘=>‘Home‘,// 默认模块
‘DEFAULT_CONTROLLER‘=>‘Index‘,// 默认控制器名称
‘DEFAULT_ACTION‘=>‘index‘,// 默认操作名称
);
在开发项目的时候,如果需要新的模块,可以修改配置文件,让框架自动创建相关目录。
(2)、数据库配置
数据库配置同样在惯例配置中可以找到,而\Application下的所有应用都可能会使用数据库,因此将数据库配置保存到应用配置文件(Application\Common\Conf\config.php)中去。
<?php
return array(
/* 数据库设置 */
‘DB_TYPE‘=>‘‘,// 数据库类型
‘DB_HOST‘=>‘‘,// 服务器地址
‘DB_NAME‘=>‘‘,// 数据库名
‘DB_USER‘=>‘‘,// 用户名
‘DB_PWD‘=>‘‘,// 密码
‘DB_PORT‘=>‘‘,// 端口
‘DB_PREFIX‘=>‘‘,// 数据库表前缀
‘DB_PARAMS‘=> array(),// 数据库连接参数
‘DB_DEBUG‘=> TRUE,// 数据库调试模式 开启后可以记录SQL日志
‘DB_FIELDS_CACHE‘=>true,// 启用字段缓存
‘DB_CHARSET‘=>‘utf8‘,// 数据库编码默认采用utf8
‘DB_DEPLOY_TYPE‘=>0,// 数据库部署方式:0 集中式(单一服务器),1 分布式(主从服务器)
‘DB_RW_SEPARATE‘=>false,// 数据库读写是否分离 主从式有效
‘DB_MASTER_NUM‘=>1,// 读写分离后 主服务器数量
‘DB_SLAVE_NO‘=>‘‘,// 指定从服务器序号
);