IT教程 | 加入收藏 | 简体 | 繁体
ThinkPHP:Php教程讲解Php函数讲解ThinkPHP
当前位置: 首页 > Php教程 > ThinkPHP

ThinkPHP框架中惯例、项目、调试、分组、读取配置讲解

2014-05-28来源:[www.121ask.com]热度:0℃ 【字体:

ThinkPHP框架中惯例、项目、调试、分组、读取配置讲解:

惯例配置


惯例重于配置是系统遵循的一个重要思想,系统内置有一个惯例配置文件(位于系统目录下面的Conf\convention.php),按照大多数的使用对常用参数进行了默认配置。所以,对于应用项目的配置文件,往往只需要配置和惯例配置不同的或者新增的配置参数,如果你完全采用默认配置,甚至可以不需要定义任何配置文件。 惯例配置文件会被系统自动加载,无需在项目中进行加载。 注意:因为新版系统架构的改变,部分惯例配置的参数已经分离出来纳入了行为扩展的属性参数(如果需要了解惯例配置中的详细配置列表请参考附录的配置参考部分)。

项目配置

项目配置文件是最常用的配置文件,项目配置文件位于项目的配置文件目录Conf下面,文件名是config.php。
在项目配置文件里面除了添加内置的参数配置外,还可以额外添加项目需要的配置参数。
后面的开发指南中提及的配置参数设置如未特别说明,都是指在项目配置文件中定义。

调试配置


新版增强了调试模式的配置文件,在开启调试模式的状态下,可以给项目设置不同的应用状态,并加载不同的项目配置文件,但是无论如何,都会首先导入框架默认的调试模式配置文件,该文件位于系统目录的Conf\debug.php。
通常情况下,调试配置文件里面可以进行一些开发模式所需要的配置。例如,配置额外的数据库连接用于调试,开启日志写入便于查找错误信息、开启页面Trace输出更多的调试信息等等。
注意:3.0版本的调试模式默认没有开启运行时间显示和页面Trace显示,需要自行开启,并且建议调试模式只开启页面Trace即可,新版的页面Trace显示信息已经包含了运行时间显示。
如果没有配置应用状态,系统默认则默认为debug状态,也就是说默认的配置参数是:
  1. 'APP_STATUS' => 'debug'//应用调试模式状态
如果检测到项目的配置目录中有存在debug.php文件,则会自动加载该配置文件,并且和系统项目配置文件以及系统调试配置文件合并,也就是说,debug.php配置文件只需要配置和项目配置文件以及系统调试配置文件不同的参数或者新增的参数。
如果想在调试模式下面增加应用状态,例如测试状态,则可以在项目配置文件中改变设置如下:
  1. 'APP_STATUS' => 'test'//应用调试模式状态
这样的话,系统会自动尝试加载项目配置目录下面的test.php 配置文件,可以在test配置文件中改变相关设置,例如改变测试数据库的连接信息等等。
由于调试模式没有任何缓存,因此涉及到较多的文件IO操作和模板实时编译,所以在开启调试模式的情况下,性能会有一定的下降,但不会影响部署模式的性能。

注意:一旦关闭调试模式,项目的调试配置文件即刻失效。


分组配置


如果启用了模块分组,则可以在对每个分组单独定义配置文件,分组配置文件位于:
项目配置目录/分组名称/config.php
可以通过如下配置启用分组:
  1. 'APP_GROUP_LIST' => 'Home,Admin'//项目分组设定
  2. 'DEFAULT_GROUP'  => 'Home'//默认分组
现在定义了Home和Admin两个分组,则我们可以定义分组配置文件如下:
Conf/Home/config.php
Conf/Admin/config.php
每个分组的配置文件仅在当前分组有效,分组配置的定义格式和项目配置是一样的。
注意:分组名称区分大小写,必须和定义的分组名一致。


读取配置


定义了配置文件之后,可以使用系统提供的C方法(如果觉得比较奇怪的话,可以借助Config单词来帮助记忆)来读取已有的配置:
  1. C('参数名称')//获取已经设置的参数值
例如,C('APP_STATUS') 可以读取到系统的调试模式的设置值,同样,由于配置参数不区分大小写,因此C('app_status')是等效的,但是建议使用大写方式的规范。
如果APP_STATUS尚未存在设置,则返回NULL。
C方法同样可以用于读取二维配置:
  1. C('USER_CONFIG.USER_TYPE')//获取用户配置中的用户类型设置
因为配置参数是全局有效的,因此C方法可以在任何地方读取任何配置,哪怕某个设置参数已经生效过期了。后面我们还会了解到C方法同样还具有给配置参数赋值的作用。
以上IT文章《ThinkPHP框架中惯例、项目、调试、分组、读取配置讲解》由名客技术网[www.121ask.com]提供阅读!
推广信息
推广信息
名客技术网是一个免费为广大IT技术人员提供IT教程,绿色软件,asp/php/jsp/java/net等实例视频教程,CMS教程,破解软件下载以及学习相关源码、知识的IT网站。
名客技术网如果无意之中侵犯了您的版权,请来电告知,本站将在3个工作日内删除 QQ:175352796
Copyright 2011-2017 Powered by 121ASK.COM, All Rights Reserved.
备案号:鄂ICP备11013833号-3