PHP完全自学手册(珍藏版) 中文pdf扫描版下载
ThinkPHP 配置简介
ThinkPHP提供了灵活的配置功能,采用最有效率的 PHP 返回数组方式定义方式。系统支持惯例配置、项目配置、分组配置、调试配置和动态配置等 5 种配置模式。
以上各种配置模式,采用了分层模式,层次体现在:惯例配置->项目配置->调试配置->分组配置->扩展配置->动态配置。这个层次的意思是,后面配置的选项会覆盖前面同名的配置选项,即优先顺序从右到左。这样,我们就可以在保证基本配置的同时,灵活更改或增加个性配置。
配置格式
ThinkPHP 中所有配置文件的定义格式均采用返回 PHP 数组的方式,一个配置样例如下:
<?php return array( //'配置项' => '配置值' 'DB_TYPE' => 'mysql', //使用的数据库类型 'DB_HOST' => 'localhost', 'SITE_CONF' => array( 'SITE_NAME' => '我爱开发网', 'DOMAIN_NAME' => '5idev.com', ), // 更多其他配置 ); ?>
在配置上,建议保持大写定义配置参数的规范,尽管大小写都是允许的。ThinkPHP 目前能支持二维数组的配置级别,如上面的例子所示。
惯例配置
惯例配置是指 ThinkPHP 内置的一个配置文件,具体对应 ThinkPHP 系统目录下面的 Confconvention.php 文件。在这个文件里,对系统所需要的大多数参数进行了默认配置。
该配置文件配置的参数比较多,大家可以自行打开了解一下。下面摘取几个比较重要的配置参数说明一下:
/* 项目设定 */ 'APP_STATUS' => 'debug', // 应用调试模式状态 'APP_SUB_DOMAIN_DEPLOY' => false, // 是否开启子域名部署
说明:
- APP_STATUS:应用调试模式状态,调试模式开启后有效,具体参考《ThinkPHP 调试模式》一节
- APP_SUB_DOMAIN_DEPLOY:项目分组开启子域名部署,请设置为 true
/* Cookie 设置 */ 'COOKIE_EXPIRE' => 3600, // Cookie有效期 'COOKIE_DOMAIN' => '', // Cookie有效域名 'COOKIE_PATH' => '/', // Cookie路径 'COOKIE_PREFIX' => '', // Cookie前缀 避免冲突
说明:上面是关于 Cookie 的一些设定。
/* 默认设定 */ 'DEFAULT_LANG' => 'zh-cn', // 默认语言 'DEFAULT_GROUP' => 'Home', // 默认分组 'DEFAULT_MODULE' => 'Index', // 默认模块名称 'DEFAULT_ACTION' => 'index', // 默认操作名称 'DEFAULT_AJAX_RETURN' => 'JSON', // 默认AJAX 数据返回格式,可选JSON XML ... 'DEFAULT_FILTER' => 'htmlspecialchars', // 默认参数过滤方法 用于 $this->_get|_post('变量名');...
说明:
- DEFAULT_FILTER:当参数过滤方法为自定义方法时,请更改本参数并将对应的函数写入项目函数库,具体参见《ThinkPHP 项目函数》
/* 数据库设置 */ 'DB_TYPE' => 'mysql', // 数据库类型 'DB_NAME' => '', // 数据库名 'DB_USER' => 'root', // 用户名 'DB_PWD' => '', // 密码 'DB_PORT' => '', // 端口 'DB_PREFIX' => 'think_', // 数据库表前缀 'DB_CHARSET' => 'utf8', // 数据库编码默认采用utf8 'DB_MASTER_NUM' => 1, // 读写分离后,主服务器数量
说明:以上配置参数请根据实际情况在项目配置文件里面进行配置,具体参见《ThinkPHP 项目配置》。
/* 错误设置 */ 'ERROR_MESSAGE' => '您浏览的页面暂时发生了错误!请稍后再试~', //错误显示信息,非调试模式有效 'ERROR_PAGE' => '', // 错误定向页面 'SHOW_ERROR_MSG' => false, // 是否显示具体错误信息
以上是当产生系统错误是的系统提示信息和对应的页面。在实际应用中,要分两种情况来讨论:
第一种情况也是最常见的情况,就是 URL 地址错误。如果系统设定了隐藏 index.php,错误的 URL 地址会被 ThinkPHP 接管,实际的结果是模块或操作不存在。这种情况的处理,通常会设定空模块与空操作,将访问者引导至友好的 404 页面。
另一种情况是由于其他原因,导致 ThinkPHP 抛出了异常,这时候就会获取上面的配置,重定向至错误页面并输出错误信息。
/* SESSION设置 */ 'SESSION_AUTO_START' => true, // 是否自动开启Session
系统默认开启 Session,如果无需开启请在项目配置里面设置为 false。
/* 模板引擎设置 */ 'TMPL_CONTENT_TYPE' => 'text/html', // 默认模板输出类型 'TMPL_TEMPLATE_SUFFIX' => '.html', // 默认模板文件后缀 'TMPL_FILE_DEPR'=>'/', //模板文件模块与操作之间的分割符,只对项目分组部署有效
上面是跟模板有关的设置,通常不用更改。
/* URL设置 */ 'URL_CASE_INSENSITIVE' => false, // 默认false 表示URL区分大小写 true则表示不区分大小写 'URL_MODEL' => 1, // URL访问模式,可选参数0、1、2、3,代表四种模式 'URL_HTML_SUFFIX' => '', // URL伪静态后缀设置
说明:
- URL_MODELS:URL访问模式
- URL_HTML_SUFFIX:URL伪静态后缀,如 html,shtml 等
/* 系统变量名称设置 */ 'VAR_GROUP' => 'g', // 默认分组获取变量 'VAR_MODULE' => 'm', // 默认模块获取变量 'VAR_ACTION' => 'a', // 默认操作获取变量
URL 中获取分组、模块和操作的变量,类似 m=user&a=read 这样的 URL,ThinkPHP 会将 user 设定为模块,a 设定为操作,因此我们在项目开发中,应该避免使用 m 参数与 a 参数。
提示
对于惯例配置,一般情况下不要去做修改,而是将需要变更的配置在项目配置里进行重新定义。由于项目配置优于惯例配置,会将惯例配置里同名的配置信息覆盖掉。
转载请注明:谷谷点程序 » ThinkPHP 系统配置