ThinkPHP慣例配置文件詳解
ThinkPHP的系統(tǒng)內(nèi)置有一個(gè)慣例配置文件(位于系統(tǒng)目錄下面的Conf\convention.php),按照大多數(shù)的使用對(duì)常用參數(shù)進(jìn)行了默認(rèn)配置。本文對(duì)慣例配置文件作出注釋詳解如下,供大家參考:
<?php
/**
+------------------------------------------------------------------------------
* ThinkPHP慣例配置文件
* 該文件請(qǐng)不要修改,如果要覆蓋慣例配置的值,可在項(xiàng)目配置文件中設(shè)定和慣例不符的配置項(xiàng)
* 配置名稱大小寫任意,系統(tǒng)會(huì)統(tǒng)一轉(zhuǎn)換成小寫
* 所有配置參數(shù)都可以在生效前動(dòng)態(tài)改變
+------------------------------------------------------------------------------
* @category Think
* @package Common
* @version $Id$
+------------------------------------------------------------------------------
*/
if (!defined('THINK_PATH')) exit();
return array(
/* 項(xiàng)目設(shè)定 */
'APP_DEBUG' => false, // 是否開啟調(diào)試模式
'APP_DOMAIN_DEPLOY' => false, // 是否使用獨(dú)立域名部署項(xiàng)目
'APP_PLUGIN_ON' => false, // 是否開啟插件機(jī)制
'APP_FILE_CASE' => false, // 是否檢查文件的大小寫 對(duì)Windows平臺(tái)有效
'APP_GROUP_DEPR' => '.', // 模塊分組之間的分割符
'APP_GROUP_LIST' => '', // 項(xiàng)目分組設(shè)定,多個(gè)組之間用逗號(hào)分隔,例如'Home,Admin'
'APP_AUTOLOAD_REG' => false, // 是否開啟SPL_AUTOLOAD_REGISTER
'APP_AUTOLOAD_PATH' => 'Think.Util.',// __autoLoad 機(jī)制額外檢測(cè)路徑設(shè)置,注意搜索順序
'APP_CONFIG_LIST' => array('taglibs','routes','tags','htmls','modules','actions'),// 項(xiàng)目額外需要加載的配置列表,默認(rèn)包括:taglibs(標(biāo)簽庫定義),routes(路由定義),tags(標(biāo)簽定義),(htmls)靜態(tài)緩存定義, modules(擴(kuò)展模塊),actions(擴(kuò)展操作)
/* Cookie設(shè)置 */
'COOKIE_EXPIRE' => 3600, // Coodie有效期
'COOKIE_DOMAIN' => '', // Cookie有效域名
'COOKIE_PATH' => '/', // Cookie路徑
'COOKIE_PREFIX' => '', // Cookie前綴 避免沖突
/* 默認(rèn)設(shè)定 */
'DEFAULT_APP' => '@', // 默認(rèn)項(xiàng)目名稱,@表示當(dāng)前項(xiàng)目
'DEFAULT_GROUP' => 'Home', // 默認(rèn)分組
'DEFAULT_MODULE' => 'Index', // 默認(rèn)模塊名稱
'DEFAULT_ACTION' => 'index', // 默認(rèn)操作名稱
'DEFAULT_CHARSET' => 'utf-8', // 默認(rèn)輸出編碼
'DEFAULT_TIMEZONE' => 'PRC', // 默認(rèn)時(shí)區(qū)
'DEFAULT_AJAX_RETURN' => 'JSON', // 默認(rèn)AJAX 數(shù)據(jù)返回格式,可選JSON XML ...
'DEFAULT_THEME' => 'default', // 默認(rèn)模板主題名稱
'DEFAULT_LANG' => 'zh-cn', // 默認(rèn)語言
/* 數(shù)據(jù)庫設(shè)置 */
'DB_TYPE' => 'mysql', // 數(shù)據(jù)庫類型
'DB_HOST' => 'localhost', // 服務(wù)器地址
'DB_NAME' => '', // 數(shù)據(jù)庫名
'DB_USER' => 'root', // 用戶名
'DB_PWD' => '', // 密碼
'DB_PORT' => 3306, // 端口
'DB_PREFIX' => 'think_', // 數(shù)據(jù)庫表前綴
'DB_SUFFIX' => '', // 數(shù)據(jù)庫表后綴
'DB_FIELDTYPE_CHECK' => false, // 是否進(jìn)行字段類型檢查
'DB_FIELDS_CACHE' => true, // 啟用字段緩存
'DB_CHARSET' => 'utf8', // 數(shù)據(jù)庫編碼默認(rèn)采用utf8
'DB_DEPLOY_TYPE' => 0, // 數(shù)據(jù)庫部署方式:0 集中式(單一服務(wù)器),1 分布式(主從服務(wù)器)
'DB_RW_SEPARATE' => false, // 數(shù)據(jù)庫讀寫是否分離 主從式有效
/* 數(shù)據(jù)緩存設(shè)置 */
'DATA_CACHE_TIME' => -1, // 數(shù)據(jù)緩存有效期
'DATA_CACHE_COMPRESS' => false, // 數(shù)據(jù)緩存是否壓縮緩存
'DATA_CACHE_CHECK' => false, // 數(shù)據(jù)緩存是否校驗(yàn)緩存
'DATA_CACHE_TYPE' => 'File', // 數(shù)據(jù)緩存類型,支持:File|Db|Apc|Memcache|Shmop|Sqlite| Xcache|Apachenote|Eaccelerator
'DATA_CACHE_PATH' => TEMP_PATH,// 緩存路徑設(shè)置 (僅對(duì)File方式緩存有效)
'DATA_CACHE_SUBDIR' => false, // 使用子目錄緩存 (自動(dòng)根據(jù)緩存標(biāo)識(shí)的哈希創(chuàng)建子目錄)
'DATA_PATH_LEVEL' => 1, // 子目錄緩存級(jí)別
/* 錯(cuò)誤設(shè)置 */
'ERROR_MESSAGE' => '您瀏覽的頁面暫時(shí)發(fā)生了錯(cuò)誤!請(qǐng)稍后再試~',//錯(cuò)誤顯示信息,非調(diào)試模式有效
'ERROR_PAGE' => '', // 錯(cuò)誤定向頁面
/* 靜態(tài)緩存設(shè)置 */
'HTML_CACHE_ON' => false, // 默認(rèn)關(guān)閉靜態(tài)緩存
'HTML_CACHE_TIME' => 60, // 靜態(tài)緩存有效期
'HTML_READ_TYPE' => 0, // 靜態(tài)緩存讀取方式 0 readfile 1 redirect
'HTML_FILE_SUFFIX' => '.shtml',// 默認(rèn)靜態(tài)文件后綴
/* 語言設(shè)置 */
'LANG_SWITCH_ON' => false, // 默認(rèn)關(guān)閉多語言包功能
'LANG_AUTO_DETECT' => true, // 自動(dòng)偵測(cè)語言 開啟多語言功能后有效
/* 日志設(shè)置 */
'LOG_RECORD' => false, // 默認(rèn)不記錄日志
'LOG_FILE_SIZE' => 2097152, // 日志文件大小限制
'LOG_RECORD_LEVEL' => array('EMERG','ALERT','CRIT','ERR'),// 允許記錄的日志級(jí)別
/* 分頁設(shè)置 */
'PAGE_ROLLPAGE' => 5, // 分頁顯示頁數(shù)
'PAGE_LISTROWS' => 20, // 分頁每頁顯示記錄數(shù)
/* SESSION設(shè)置 */
'SESSION_AUTO_START' => true, // 是否自動(dòng)開啟Session
// 內(nèi)置SESSION類可用參數(shù)
//'SESSION_NAME' => '', // Session名稱
//'SESSION_PATH' => '', // Session保存路徑
//'SESSION_CALLBACK' => '', // Session 對(duì)象反序列化時(shí)候的回調(diào)函數(shù)
/* 運(yùn)行時(shí)間設(shè)置 */
'SHOW_RUN_TIME' => false, // 運(yùn)行時(shí)間顯示
'SHOW_ADV_TIME' => false, // 顯示詳細(xì)的運(yùn)行時(shí)間
'SHOW_DB_TIMES' => false, // 顯示數(shù)據(jù)庫查詢和寫入次數(shù)
'SHOW_CACHE_TIMES' => false, // 顯示緩存操作次數(shù)
'SHOW_USE_MEM' => false, // 顯示內(nèi)存開銷
'SHOW_PAGE_TRACE' => false, // 顯示頁面Trace信息 由Trace文件定義和Action操作賦值
'SHOW_ERROR_MSG' => true, // 顯示錯(cuò)誤信息
/* 模板引擎設(shè)置 */
'TMPL_ENGINE_TYPE' => 'Think', // 默認(rèn)模板引擎 以下設(shè)置僅對(duì)使用Think模板引擎有效
'TMPL_DETECT_THEME' => false, // 自動(dòng)偵測(cè)模板主題
'TMPL_TEMPLATE_SUFFIX' => '.html', // 默認(rèn)模板文件后綴
'TMPL_CACHFILE_SUFFIX' => '.php', // 默認(rèn)模板緩存后綴
'TMPL_DENY_FUNC_LIST' => 'echo,exit', // 模板引擎禁用函數(shù)
'TMPL_PARSE_STRING' => '', // 模板引擎要自動(dòng)替換的字符串,必須是數(shù)組形式。
'TMPL_L_DELIM' => '{', // 模板引擎普通標(biāo)簽開始標(biāo)記
'TMPL_R_DELIM' => '}', // 模板引擎普通標(biāo)簽結(jié)束標(biāo)記
'TMPL_VAR_IDENTIFY' => 'array', // 模板變量識(shí)別。留空自動(dòng)判斷,參數(shù)為'obj'則表示對(duì)象
'TMPL_STRIP_SPACE' => false, // 是否去除模板文件里面的html空格與換行
'TMPL_CACHE_ON' => true, // 是否開啟模板編譯緩存,設(shè)為false則每次都會(huì)重新編譯
'TMPL_CACHE_TIME' => -1, // 模板緩存有效期 -1 為永久,(以數(shù)字為值,單位:秒)
'TMPL_ACTION_ERROR' => 'Public:success', // 默認(rèn)錯(cuò)誤跳轉(zhuǎn)對(duì)應(yīng)的模板文件
'TMPL_ACTION_SUCCESS' => 'Public:success', // 默認(rèn)成功跳轉(zhuǎn)對(duì)應(yīng)的模板文件
'TMPL_TRACE_FILE' => THINK_PATH.'/Tpl/PageTrace.tpl.php', // 頁面Trace的模板文件
'TMPL_EXCEPTION_FILE' => THINK_PATH.'/Tpl/ThinkException.tpl.php',// 異常頁面的模板文件
'TMPL_FILE_DEPR'=>'/', //模板文件MODULE_NAME與ACTION_NAME之間的分割符,只對(duì)項(xiàng)目分組部署有效
// Think模板引擎標(biāo)簽庫相關(guān)設(shè)定
'TAGLIB_BEGIN' => '<', // 標(biāo)簽庫標(biāo)簽開始標(biāo)記
'TAGLIB_END' => '>', // 標(biāo)簽庫標(biāo)簽結(jié)束標(biāo)記
'TAGLIB_LOAD' => true, // 是否使用內(nèi)置標(biāo)簽庫之外的其它標(biāo)簽庫,默認(rèn)自動(dòng)檢測(cè)
'TAGLIB_BUILD_IN' => 'cx', // 內(nèi)置標(biāo)簽庫名稱(標(biāo)簽使用不必指定標(biāo)簽庫名稱),以逗號(hào)分隔
'TAGLIB_PRE_LOAD' => '', // 需要額外加載的標(biāo)簽庫(須指定標(biāo)簽庫名稱),多個(gè)以逗號(hào)分隔
'TAG_NESTED_LEVEL' => 3, // 標(biāo)簽嵌套級(jí)別
'TAG_EXTEND_PARSE' => '', // 指定對(duì)普通標(biāo)簽進(jìn)行擴(kuò)展定義和解析的函數(shù)名稱。
/* 表單令牌驗(yàn)證 */
'TOKEN_ON' => true, // 開啟令牌驗(yàn)證
'TOKEN_NAME' => '__hash__', // 令牌驗(yàn)證的表單隱藏字段名稱
'TOKEN_TYPE' => 'md5', // 令牌驗(yàn)證哈希規(guī)則
/* URL設(shè)置 */
'URL_CASE_INSENSITIVE' => false, // URL地址是否不區(qū)分大小寫
'URL_ROUTER_ON' => false, // 是否開啟URL路由
'URL_DISPATCH_ON' => true, // 是否啟用Dispatcher
'URL_MODEL' => 1, // URL訪問模式,可選參數(shù)0、1、2、3,代表以下四種模式:
// 0 (普通模式); 1 (PATHINFO 模式); 2 (REWRITE 模式); 3 (兼容模式) 當(dāng)URL_DISPATCH_ON開啟后有效; 默認(rèn)為PATHINFO 模式,提供最好的用戶體驗(yàn)和SEO支持
'URL_PATHINFO_MODEL' => 2, // PATHINFO 模式,使用數(shù)字1、2、3代表以下三種模式:
// 1 普通模式(參數(shù)沒有順序,例如/m/module/a/action/id/1);
// 2 智能模式(系統(tǒng)默認(rèn)使用的模式,可自動(dòng)識(shí)別模塊和操作/module/action/id/1/ 或者 /module,action,id,1/...);
// 3 兼容模式(通過一個(gè)GET變量將PATHINFO傳遞給dispather,默認(rèn)為s index.php?s=/module/action/id/1)
'URL_PATHINFO_DEPR' => '/', // PATHINFO模式下,各參數(shù)之間的分割符號(hào)
'URL_HTML_SUFFIX' => '', // URL偽靜態(tài)后綴設(shè)置
/* 系統(tǒng)變量名稱設(shè)置 */
'VAR_GROUP' => 'g', // 默認(rèn)分組獲取變量
'VAR_MODULE' => 'm', // 默認(rèn)模塊獲取變量
'VAR_ACTION' => 'a', // 默認(rèn)操作獲取變量
'VAR_ROUTER' => 'r', // 默認(rèn)路由獲取變量
'VAR_PAGE' => 'p', // 默認(rèn)分頁跳轉(zhuǎn)變量
'VAR_TEMPLATE' => 't', // 默認(rèn)模板切換變量
'VAR_LANGUAGE' => 'l', // 默認(rèn)語言切換變量
'VAR_AJAX_SUBMIT' => 'ajax', // 默認(rèn)的AJAX提交變量
'VAR_PATHINFO' => 's', // PATHINFO 兼容模式獲取變量例如 ?s=/module/action/id/1 后面的參數(shù)取決于URL_PATHINFO_MODEL 和 URL_PATHINFO_DEPR
);
此外,還需注意,由于新版系統(tǒng)架構(gòu)的改變,部分慣例配置的參數(shù)已經(jīng)分離出來納入了行為擴(kuò)展的屬性參數(shù),讀者可查閱手冊(cè)進(jìn)一步了解。
- ThinkPHP3.2框架自定義配置和加載用法示例
- thinkPHP5.0框架配置格式、加載解析與讀取方法
- thinkphp的URL路由規(guī)則與配置實(shí)例
- 修改apache配置文件去除thinkphp url中的index.php
- tp5(thinkPHP5框架)captcha驗(yàn)證碼配置及驗(yàn)證操作示例
- thinkphp配置連接數(shù)據(jù)庫技巧
- ThinkPHP公共配置文件與各自項(xiàng)目中配置文件組合的方法
- Nginx下支持Thinkphp URL Rewrite的配置示例
- thinkphp修改配置進(jìn)入默認(rèn)首頁的方法
- thinkPHP中鉤子的兩種配置調(diào)用方法詳解
- ThinkPHP靜態(tài)緩存簡(jiǎn)單配置和使用方法詳解
- Thinkphp 框架配置操作之配置加載與讀取配置實(shí)例分析
相關(guān)文章
在 Laravel 中 “規(guī)范” 的開發(fā)短信驗(yàn)證碼發(fā)送功能
Laravel是一套簡(jiǎn)潔、優(yōu)雅的PHP Web開發(fā)框架(PHP Web Framework)。接下來通過本文給大家分享在 Laravel 中 “規(guī)范” 的開發(fā)短信驗(yàn)證碼發(fā)送功能,需要的朋友參考下吧2017-10-10
Yii使用find findAll查找出指定字段的實(shí)現(xiàn)方法
這篇文章主要介紹了Yii使用find findAll查找出指定字段的實(shí)現(xiàn)方法,非常實(shí)用的技巧,需要的朋友可以參考下2014-09-09
Thinkphp5實(shí)現(xiàn)Redis數(shù)據(jù)緩存的基本步驟
在ThinkPHP 5中,你可以使用Redis作為數(shù)據(jù)緩存的解決方案,Redis是一個(gè)開源的內(nèi)存數(shù)據(jù)結(jié)構(gòu)存儲(chǔ)系統(tǒng),它可以用作數(shù)據(jù)庫、緩存和消息中介,下面是在ThinkPHP 5中實(shí)現(xiàn)Redis數(shù)據(jù)緩存的基本步驟,需要的朋友可以參考下2024-05-05
PHP curl實(shí)現(xiàn)抓取302跳轉(zhuǎn)后頁面的示例
這篇文章主要介紹了PHP curl實(shí)現(xiàn)抓取302跳轉(zhuǎn)后頁面的示例,主要是對(duì)CURLOPT_CUSTOMREQUEST參數(shù)的運(yùn)用,需要的朋友可以參考下2014-07-07
php 問卷調(diào)查結(jié)果統(tǒng)計(jì)
一個(gè)新產(chǎn)品投入市場(chǎng),要先做問卷調(diào)查,考察這個(gè)產(chǎn)品在市場(chǎng)的需求量,本篇文章主要跟大家介紹使用php問卷調(diào)查結(jié)果統(tǒng)計(jì),感興趣的朋友一起學(xué)習(xí)吧2015-10-10
ThinkPHP框架基于PDO方式連接數(shù)據(jù)庫操作示例
這篇文章主要介紹了ThinkPHP框架基于PDO方式連接數(shù)據(jù)庫操作,結(jié)合完整實(shí)例形式分析了thinkPHP使用PDO方式連接數(shù)據(jù)庫的相關(guān)配置、控制器及模板調(diào)用相關(guān)操作技巧,需要的朋友可以參考下2018-03-03

