程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> ThinkPHP慣例配置文件詳解,

ThinkPHP慣例配置文件詳解,

編輯:關於PHP編程

ThinkPHP慣例配置文件詳解,


ThinkPHP的系統內置有一個慣例配置文件(位於系統目錄下面的Conf\convention.php),按照大多數的使用對常用參數進行了默認配置。本文對慣例配置文件作出注釋詳解如下,供大家參考:

<?php
/**
+------------------------------------------------------------------------------
* ThinkPHP慣例配置文件
* 該文件請不要修改,如果要覆蓋慣例配置的值,可在項目配置文件中設定和慣例不符的配置項
* 配置名稱大小寫任意,系統會統一轉換成小寫
* 所有配置參數都可以在生效前動態改變
+------------------------------------------------------------------------------
* @category Think
* @package Common
* @version $Id$
+------------------------------------------------------------------------------
*/
if (!defined('THINK_PATH')) exit();
return array(

/* 項目設定 */
'APP_DEBUG'   => false, // 是否開啟調試模式
'APP_DOMAIN_DEPLOY'   => false,  // 是否使用獨立域名部署項目
'APP_PLUGIN_ON'     => false,  // 是否開啟插件機制
'APP_FILE_CASE'     => false,  // 是否檢查文件的大小寫 對Windows平台有效
'APP_GROUP_DEPR'    => '.',   // 模塊分組之間的分割符
'APP_GROUP_LIST'    => '',   // 項目分組設定,多個組之間用逗號分隔,例如'Home,Admin'
'APP_AUTOLOAD_REG'   => false,  // 是否開啟SPL_AUTOLOAD_REGISTER
'APP_AUTOLOAD_PATH'   => 'Think.Util.',// __autoLoad 機制額外檢測路徑設置,注意搜索順序
'APP_CONFIG_LIST'    => array('taglibs','routes','tags','htmls','modules','actions'),// 項目額外需要加載的配置列表,默認包括:taglibs(標簽庫定義),routes(路由定義),tags(標簽定義),(htmls)靜態緩存定義, modules(擴展模塊),actions(擴展操作)

/* Cookie設置 */
'COOKIE_EXPIRE'     => 3600,  // Coodie有效期
'COOKIE_DOMAIN'     => '',   // Cookie有效域名
'COOKIE_PATH'      => '/',   // Cookie路徑
'COOKIE_PREFIX'     => '',   // Cookie前綴 避免沖突

/* 默認設定 */
'DEFAULT_APP'      => '@',   // 默認項目名稱,@表示當前項目
'DEFAULT_GROUP'     => 'Home', // 默認分組
'DEFAULT_MODULE'    => 'Index', // 默認模塊名稱
'DEFAULT_ACTION'    => 'index', // 默認操作名稱
'DEFAULT_CHARSET'    => 'utf-8', // 默認輸出編碼
'DEFAULT_TIMEZONE'   => 'PRC', // 默認時區
'DEFAULT_AJAX_RETURN'  => 'JSON', // 默認AJAX 數據返回格式,可選JSON XML ...
'DEFAULT_THEME'  => 'default', // 默認模板主題名稱
'DEFAULT_LANG'     => 'zh-cn', // 默認語言

/* 數據庫設置 */
'DB_TYPE'        => 'mysql',   // 數據庫類型
'DB_HOST'        => 'localhost', // 服務器地址
'DB_NAME'        => '',     // 數據庫名
'DB_USER'        => 'root',   // 用戶名
'DB_PWD'        => '',     // 密碼
'DB_PORT'        => 3306,    // 端口
'DB_PREFIX'       => 'think_',  // 數據庫表前綴
'DB_SUFFIX'       => '',     // 數據庫表後綴
'DB_FIELDTYPE_CHECK'  => false,    // 是否進行字段類型檢查
'DB_FIELDS_CACHE'    => true,    // 啟用字段緩存
'DB_CHARSET'      => 'utf8',   // 數據庫編碼默認采用utf8
'DB_DEPLOY_TYPE'    => 0, // 數據庫部署方式:0 集中式(單一服務器),1 分布式(主從服務器)
'DB_RW_SEPARATE'    => false,    // 數據庫讀寫是否分離 主從式有效

/* 數據緩存設置 */
'DATA_CACHE_TIME'  => -1,   // 數據緩存有效期
'DATA_CACHE_COMPRESS'  => false,  // 數據緩存是否壓縮緩存
'DATA_CACHE_CHECK'  => false,  // 數據緩存是否校驗緩存
'DATA_CACHE_TYPE'  => 'File', // 數據緩存類型,支持:File|Db|Apc|Memcache|Shmop|Sqlite| Xcache|Apachenote|Eaccelerator
'DATA_CACHE_PATH'    => TEMP_PATH,// 緩存路徑設置 (僅對File方式緩存有效)
'DATA_CACHE_SUBDIR'  => false,  // 使用子目錄緩存 (自動根據緩存標識的哈希創建子目錄)
'DATA_PATH_LEVEL'    => 1,    // 子目錄緩存級別

/* 錯誤設置 */
'ERROR_MESSAGE' => '您浏覽的頁面暫時發生了錯誤!請稍後再試~',//錯誤顯示信息,非調試模式有效
'ERROR_PAGE'  => '', // 錯誤定向頁面

/* 靜態緩存設置 */
'HTML_CACHE_ON'  => false,  // 默認關閉靜態緩存
'HTML_CACHE_TIME'  => 60,   // 靜態緩存有效期
'HTML_READ_TYPE'    => 0,    // 靜態緩存讀取方式 0 readfile 1 redirect
'HTML_FILE_SUFFIX'   => '.shtml',// 默認靜態文件後綴

/* 語言設置 */
'LANG_SWITCH_ON'    => false,  // 默認關閉多語言包功能
'LANG_AUTO_DETECT'   => true,  // 自動偵測語言 開啟多語言功能後有效

/* 日志設置 */
'LOG_RECORD'      => false,  // 默認不記錄日志
'LOG_FILE_SIZE'     => 2097152, // 日志文件大小限制
'LOG_RECORD_LEVEL'   => array('EMERG','ALERT','CRIT','ERR'),// 允許記錄的日志級別

/* 分頁設置 */
'PAGE_ROLLPAGE'     => 5,   // 分頁顯示頁數
'PAGE_LISTROWS'     => 20,   // 分頁每頁顯示記錄數

/* SESSION設置 */
'SESSION_AUTO_START'  => true,  // 是否自動開啟Session
// 內置SESSION類可用參數
//'SESSION_NAME'     => '',   // Session名稱
//'SESSION_PATH'     => '',   // Session保存路徑
//'SESSION_CALLBACK'   => '',   // Session 對象反序列化時候的回調函數

/* 運行時間設置 */
'SHOW_RUN_TIME'  => false,  // 運行時間顯示
'SHOW_ADV_TIME'  => false,  // 顯示詳細的運行時間
'SHOW_DB_TIMES'  => false,  // 顯示數據庫查詢和寫入次數
'SHOW_CACHE_TIMES'  => false,  // 顯示緩存操作次數
'SHOW_USE_MEM'  => false,  // 顯示內存開銷
'SHOW_PAGE_TRACE'  => false,  // 顯示頁面Trace信息 由Trace文件定義和Action操作賦值
'SHOW_ERROR_MSG'    => true,  // 顯示錯誤信息

/* 模板引擎設置 */
'TMPL_ENGINE_TYPE'  => 'Think',   // 默認模板引擎 以下設置僅對使用Think模板引擎有效
'TMPL_DETECT_THEME'   => false,    // 自動偵測模板主題
'TMPL_TEMPLATE_SUFFIX' => '.html',   // 默認模板文件後綴
'TMPL_CACHFILE_SUFFIX' => '.php',   // 默認模板緩存後綴
'TMPL_DENY_FUNC_LIST' => 'echo,exit', // 模板引擎禁用函數
'TMPL_PARSE_STRING'   => '',     // 模板引擎要自動替換的字符串,必須是數組形式。
'TMPL_L_DELIM'     => '{',  // 模板引擎普通標簽開始標記
'TMPL_R_DELIM'     => '}',  // 模板引擎普通標簽結束標記
'TMPL_VAR_IDENTIFY'   => 'array',   // 模板變量識別。留空自動判斷,參數為'obj'則表示對象
'TMPL_STRIP_SPACE'   => false,    // 是否去除模板文件裡面的html空格與換行
'TMPL_CACHE_ON'  => true,    // 是否開啟模板編譯緩存,設為false則每次都會重新編譯
'TMPL_CACHE_TIME'  => -1,     // 模板緩存有效期 -1 為永久,(以數字為值,單位:秒)
'TMPL_ACTION_ERROR'   => 'Public:success', // 默認錯誤跳轉對應的模板文件
'TMPL_ACTION_SUCCESS'  => 'Public:success', // 默認成功跳轉對應的模板文件
'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之間的分割符,只對項目分組部署有效
// Think模板引擎標簽庫相關設定
'TAGLIB_BEGIN'     => '<', // 標簽庫標簽開始標記
'TAGLIB_END'      => '>', // 標簽庫標簽結束標記
'TAGLIB_LOAD'      => true, // 是否使用內置標簽庫之外的其它標簽庫,默認自動檢測
'TAGLIB_BUILD_IN'    => 'cx', // 內置標簽庫名稱(標簽使用不必指定標簽庫名稱),以逗號分隔
'TAGLIB_PRE_LOAD'    => '',  // 需要額外加載的標簽庫(須指定標簽庫名稱),多個以逗號分隔
'TAG_NESTED_LEVEL'  => 3,  // 標簽嵌套級別
'TAG_EXTEND_PARSE'   => '',  // 指定對普通標簽進行擴展定義和解析的函數名稱。

/* 表單令牌驗證 */
'TOKEN_ON'          =>  true,   // 開啟令牌驗證
'TOKEN_NAME'        =>  '__hash__',  // 令牌驗證的表單隱藏字段名稱
'TOKEN_TYPE'         =>  'md5',  // 令牌驗證哈希規則

/* URL設置 */
'URL_CASE_INSENSITIVE' => false,  // URL地址是否不區分大小寫
'URL_ROUTER_ON'     => false,  // 是否開啟URL路由
'URL_DISPATCH_ON'    => true, // 是否啟用Dispatcher
'URL_MODEL'   => 1,    // URL訪問模式,可選參數0、1、2、3,代表以下四種模式:
// 0 (普通模式); 1 (PATHINFO 模式); 2 (REWRITE 模式); 3 (兼容模式) 當URL_DISPATCH_ON開啟後有效; 默認為PATHINFO 模式,提供最好的用戶體驗和SEO支持
'URL_PATHINFO_MODEL'  => 2,    // PATHINFO 模式,使用數字1、2、3代表以下三種模式:
// 1 普通模式(參數沒有順序,例如/m/module/a/action/id/1);
// 2 智能模式(系統默認使用的模式,可自動識別模塊和操作/module/action/id/1/ 或者 /module,action,id,1/...);
// 3 兼容模式(通過一個GET變量將PATHINFO傳遞給dispather,默認為s index.php?s=/module/action/id/1)
'URL_PATHINFO_DEPR'   => '/', // PATHINFO模式下,各參數之間的分割符號
'URL_HTML_SUFFIX'    => '', // URL偽靜態後綴設置

/* 系統變量名稱設置 */
'VAR_GROUP'       => 'g',   // 默認分組獲取變量
'VAR_MODULE'      => 'm',  // 默認模塊獲取變量
'VAR_ACTION'      => 'a',  // 默認操作獲取變量
'VAR_ROUTER'      => 'r',   // 默認路由獲取變量
'VAR_PAGE'       => 'p',  // 默認分頁跳轉變量
'VAR_TEMPLATE'     => 't',  // 默認模板切換變量
'VAR_LANGUAGE'     => 'l',  // 默認語言切換變量
'VAR_AJAX_SUBMIT'    => 'ajax', // 默認的AJAX提交變量
'VAR_PATHINFO'     => 's', // PATHINFO 兼容模式獲取變量例如 ?s=/module/action/id/1 後面的參數取決於URL_PATHINFO_MODEL 和 URL_PATHINFO_DEPR

);

此外,還需注意,由於新版系統架構的改變,部分慣例配置的參數已經分離出來納入了行為擴展的屬性參數,讀者可查閱手冊進一步了解。




  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved