## 慣例配置
### 應用設定
~~~
'APP_USE_NAMESPACE' => true, // 應用類庫是否使用命名空間 3.2.1新增
'APP_SUB_DOMAIN_DEPLOY' => false, // 是否開啟子域名部署
'APP_SUB_DOMAIN_RULES' => array(), // 子域名部署規則
'APP_DOMAIN_SUFFIX' => '', // 域名后綴 如果是com.cn net.cn 之類的后綴必須設置
'ACTION_SUFFIX' => '', // 操作方法后綴
'MULTI_MODULE' => true, // 是否允許多模塊 如果為false 則必須設置 DEFAULT_MODULE
'MODULE_DENY_LIST' => array('Common','Runtime'), // 禁止訪問的模塊列表
'MODULE_ALLOW_LIST' => array(), // 允許訪問的模塊列表
'CONTROLLER_LEVEL' => 1,
'APP_AUTOLOAD_LAYER' => 'Controller,Model', // 自動加載的應用類庫層(針對非命名空間定義類庫) 3.2.1新增
'APP_AUTOLOAD_PATH' => '', // 自動加載的路徑(針對非命名空間定義類庫) 3.2.1新增
~~~
### 默認設定
~~~
'DEFAULT_M_LAYER' => 'Model', // 默認的模型層名稱
'DEFAULT_C_LAYER' => 'Controller', // 默認的控制器層名稱
'DEFAULT_V_LAYER' => 'View', // 默認的視圖層名稱
'DEFAULT_LANG' => 'zh-cn', // 默認語言
'DEFAULT_THEME' => '', // 默認模板主題名稱
'DEFAULT_MODULE' => 'Home', // 默認模塊
'DEFAULT_CONTROLLER' => 'Index', // 默認控制器名稱
'DEFAULT_ACTION' => 'index', // 默認操作名稱
'DEFAULT_CHARSET' => 'utf-8', // 默認輸出編碼
'DEFAULT_TIMEZONE' => 'PRC', // 默認時區
'DEFAULT_AJAX_RETURN' => 'JSON', // 默認AJAX 數據返回格式,可選JSON XML ...
'DEFAULT_JSONP_HANDLER' => 'jsonpReturn', // 默認JSONP格式返回的處理方法
'DEFAULT_FILTER' => 'htmlspecialchars', // 默認參數過濾方法 用于I函數...
~~~
### Cookie設置
~~~
'COOKIE_EXPIRE' => 0, // Cookie有效期
'COOKIE_DOMAIN' => '', // Cookie有效域名
'COOKIE_PATH' => '/', // Cookie路徑
'COOKIE_PREFIX' => '', // Cookie前綴 避免沖突
'COOKIE_HTTPONLY' => '', // Cookie的httponly屬性 3.2.2新增
~~~
### 數據庫設置
~~~
'DB_TYPE' => '', // 數據庫類型
'DB_HOST' => '', // 服務器地址
'DB_NAME' => '', // 數據庫名
'DB_USER' => '', // 用戶名
'DB_PWD' => '', // 密碼
'DB_PORT' => '', // 端口
'DB_PREFIX' => '', // 數據庫表前綴
'DB_FIELDTYPE_CHECK' => false, // 是否進行字段類型檢查 3.2.3版本廢棄
'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' => '', // 指定從服務器序號
'DB_SQL_BUILD_CACHE' => false, // 數據庫查詢的SQL創建緩存 3.2.3版本廢棄
'DB_SQL_BUILD_QUEUE' => 'file', // SQL緩存隊列的緩存方式 支持 file xcache和apc 3.2.3版本廢棄
'DB_SQL_BUILD_LENGTH' => 20, // SQL緩存的隊列長度 3.2.3版本廢棄
'DB_SQL_LOG' => false, // SQL執行日志記錄 3.2.3版本廢棄
'DB_BIND_PARAM' => false, // 數據庫寫入數據自動參數綁定
'DB_DEBUG' => false, // 數據庫調試模式 3.2.3新增
'DB_LITE' => false, // 數據庫Lite模式 3.2.3新增
~~~
### 數據緩存設置
~~~
'DATA_CACHE_TIME' => 0, // 數據緩存有效期 0表示永久緩存
'DATA_CACHE_COMPRESS' => false, // 數據緩存是否壓縮緩存
'DATA_CACHE_CHECK' => false, // 數據緩存是否校驗緩存
'DATA_CACHE_PREFIX' => '', // 緩存前綴
'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' => '', // 錯誤定向頁面
'SHOW_ERROR_MSG' => false, // 顯示錯誤信息
'TRACE_MAX_RECORD' => 100, // 每個級別的錯誤信息 最大記錄數
~~~
### 日志設置
~~~
'LOG_RECORD' => false, // 默認不記錄日志
'LOG_TYPE' => 'File', // 日志記錄類型 默認為文件方式
'LOG_LEVEL' => 'EMERG,ALERT,CRIT,ERR',// 允許記錄的日志級別
'LOG_EXCEPTION_RECORD' => false, // 是否記錄異常信息日志
~~~
### SESSION設置
~~~
'SESSION_AUTO_START' => true, // 是否自動開啟Session
'SESSION_OPTIONS' => array(), // session 配置數組 支持type name id path expire domain 等參數
'SESSION_TYPE' => '', // session hander類型 默認無需設置 除非擴展了session hander驅動
'SESSION_PREFIX' => '', // session 前綴
~~~
### 模板引擎設置
~~~
'TMPL_CONTENT_TYPE' => 'text/html', // 默認模板輸出類型
'TMPL_ACTION_ERROR' => THINK_PATH.'Tpl/dispatch_jump.tpl', // 默認錯誤跳轉對應的模板文件
'TMPL_ACTION_SUCCESS' => THINK_PATH.'Tpl/dispatch_jump.tpl', // 默認成功跳轉對應的模板文件
'TMPL_EXCEPTION_FILE' => THINK_PATH.'Tpl/think_exception.tpl',// 異常頁面的模板文件
'TMPL_DETECT_THEME' => false, // 自動偵測模板主題
'TMPL_TEMPLATE_SUFFIX' => '.html', // 默認模板文件后綴
'TMPL_FILE_DEPR' => '/', //模板文件CONTROLLER_NAME與ACTION_NAME之間的分割符
'TMPL_ENGINE_TYPE' => 'Think', // 默認模板引擎 以下設置僅對使用Think模板引擎有效
'TMPL_CACHFILE_SUFFIX' => '.php', // 默認模板緩存后綴
'TMPL_DENY_FUNC_LIST' => 'echo,exit', // 模板引擎禁用函數
'TMPL_DENY_PHP' => false, // 默認模板引擎是否禁用PHP原生代碼
'TMPL_L_DELIM' => '{', // 模板引擎普通標簽開始標記
'TMPL_R_DELIM' => '}', // 模板引擎普通標簽結束標記
'TMPL_VAR_IDENTIFY' => 'array', // 模板變量識別。留空自動判斷,參數為'obj'則表示對象
'TMPL_STRIP_SPACE' => true, // 是否去除模板文件里面的html空格與換行
'TMPL_CACHE_ON' => true, // 是否開啟模板編譯緩存,設為false則每次都會重新編譯
'TMPL_CACHE_PREFIX' => '', // 模板緩存前綴標識,可以動態改變
'TMPL_CACHE_TIME' => 0, // 模板緩存有效期 0 為永久,(以數字為值,單位:秒)
'TMPL_LAYOUT_ITEM' => '{__CONTENT__}', // 布局模板的內容替換標識
'LAYOUT_ON' => false, // 是否啟用布局
'LAYOUT_NAME' => 'layout', // 當前布局名稱 默認為layout
~~~
### URL設置
~~~
'URL_CASE_INSENSITIVE' => true, // 默認false 表示URL區分大小寫 true則表示不區分大小寫
'URL_MODEL' => 1, // URL訪問模式,可選參數0、1、2、3,代表以下四種模式:
// 0 (普通模式); 1 (PATHINFO 模式); 2 (REWRITE 模式); 3 (兼容模式) 默認為PATHINFO 模式
'URL_PATHINFO_DEPR' => '/', // PATHINFO模式下,各參數之間的分割符號
'URL_PATHINFO_FETCH' => 'ORIG_PATH_INFO,REDIRECT_PATH_INFO,REDIRECT_URL', // 用于兼容判斷PATH_INFO 參數的SERVER替代變量列表
'URL_REQUEST_URI' => 'REQUEST_URI', // 獲取當前頁面地址的系統變量 默認為REQUEST_URI
'URL_HTML_SUFFIX' => 'html', // URL偽靜態后綴設置
'URL_DENY_SUFFIX' => 'ico|png|gif|jpg', // URL禁止訪問的后綴設置
'URL_PARAMS_BIND' => true, // URL變量綁定到Action方法參數
'URL_PARAMS_BIND_TYPE' => 0, // URL變量綁定的類型 0 按變量名綁定 1 按變量順序綁定
'URL_404_REDIRECT' => '', // 404 跳轉頁面 部署模式有效
'URL_ROUTER_ON' => false, // 是否開啟URL路由
'URL_ROUTE_RULES' => array(), // 默認路由規則 針對模塊
'URL_MAP_RULES' => array(), // URL映射定義規則
~~~
### 系統變量名稱設置
~~~
'VAR_MODULE' => 'm', // 默認模塊獲取變量
'VAR_CONTROLLER' => 'c', // 默認控制器獲取變量
'VAR_ACTION' => 'a', // 默認操作獲取變量
'VAR_AJAX_SUBMIT' => 'ajax', // 默認的AJAX提交變量
'VAR_JSONP_HANDLER' => 'callback',
'VAR_PATHINFO' => 's', // 兼容模式PATHINFO獲取變量例如 ?s=/module/action/id/1 后面的參數取決于URL_PATHINFO_DEPR
'VAR_TEMPLATE' => 't', // 默認模板切換變量
'VAR_ADDON' => 'addon', // 默認的插件控制器命名空間變量 3.2.2新增
~~~
### 其他設置
~~~
'HTTP_CACHE_CONTROL' => 'private', // 網頁緩存控制
'CHECK_APP_DIR' => true, // 是否檢查應用目錄是否創建
'FILE_UPLOAD_TYPE' => 'Local', // 文件上傳方式
'DATA_CRYPT_TYPE' => 'Think', // 數據加密方式
~~~
- 序言
- 基礎
- 獲取ThinkPHP
- 環境要求
- 目錄結構
- 入口文件
- 自動生成
- 模塊
- 控制器
- 開發規范
- 配置
- 配置格式
- 配置加載
- 讀取配置
- 動態配置
- 擴展配置
- 批量配置
- 架構
- 模塊化設計
- URL模式
- 多層MVC
- CBD模式
- 命名空間
- 自動加載
- 應用模式
- 項目編譯
- 系統流程
- 路由
- 路由定義
- 規則路由
- 正則路由
- 靜態路由
- 閉包支持
- 實例說明
- 控制器
- 控制器定義
- 前置和后置操作
- Action參數綁定
- 偽靜態
- URL大小寫
- URL生成
- AJAX返回
- 跳轉和重定向
- 輸入變量
- 請求類型
- 空操作
- 空控制器
- 插件控制器
- 操作綁定到類
- 模型
- 模型定義
- 模型實例化
- 字段定義
- 連接數據庫
- 切換數據庫
- 分布式數據庫支持
- 連貫操作
- WHERE
- TABLE
- ALIAS
- DATA
- FIELD
- ORDER
- LIMIT
- PAGE
- GROUP
- HAVING
- JOIN
- UNION
- DISTINCT
- LOCK
- CACHE
- COMMENT
- RELATION
- USING
- fetchSql
- TOKEN
- STRICT
- INDEX
- 命名范圍
- CURD操作
- 數據創建
- 數據寫入
- 數據讀取
- 數據更新
- 數據刪除
- ActiveRecord
- 字段映射
- 查詢語言
- 查詢方式
- 表達式查詢
- 快捷查詢
- 區間查詢
- 組合查詢
- 統計查詢
- SQL查詢
- 動態查詢
- 子查詢
- 自動驗證
- 自動完成
- 參數綁定
- 虛擬模型
- 模型分層
- 視圖模型
- 關聯模型
- 高級模型
- Mongo模型
- 視圖
- 模板定義
- 模板主題
- 模板賦值
- 模板渲染
- 獲取模板地址
- 獲取內容
- 模板引擎
- 模板
- 變量輸出
- 系統變量
- 使用函數
- 默認值輸出
- 使用運算符
- 標簽庫
- 模板繼承
- 修改定界符
- 三元運算
- 包含文件
- 內置標簽
- Volist標簽
- Foreach標簽
- For標簽
- Switch標簽
- 比較標簽
- 范圍判斷標簽
- IF標簽
- Present標簽
- Empty標簽
- Defined標簽
- Assign標簽
- Define標簽
- 標簽嵌套
- import標簽
- 使用PHP代碼
- 原樣輸出
- 模板注釋
- 模板布局
- 模板替換
- 調試
- 調試模式
- 異常處理
- 日志記錄
- 頁面Trace
- Trace方法
- 變量調試
- 性能調試
- 錯誤調試
- 模型調試
- 緩存
- 數據緩存
- 快速緩存
- 查詢緩存
- 靜態緩存
- 安全
- 輸入過濾
- 表單合法性檢測
- 表單令牌
- 防止SQL注入
- 目錄安全文件
- 保護模板文件
- 上傳安全
- 防止XSS攻擊
- 其他安全建議
- 擴展
- 類庫擴展
- 驅動擴展
- 緩存驅動
- 數據庫驅動
- 日志驅動
- Session驅動
- 存儲驅動
- 模板引擎驅動
- 標簽庫驅動
- 行為擴展
- 標簽擴展
- Widget擴展
- 應用模式
- 部署
- PATH_INFO支持
- URL重寫
- 模塊部署
- 域名部署
- 入口綁定
- 替換入口
- 專題
- SESSION支持
- Cookie支持
- 多語言支持
- 數據分頁
- 文件上傳
- 驗證碼
- 圖像處理
- RESTFul
- RPC
- SAE
- IP獲取和定位
- 附錄
- 常量參考
- 配置參考
- 升級指導
- 鳴謝