Config 配置類
?? Config 為靜態類,無需實例化,但只建議在 控制器 和 模塊 中使用,在 視圖 中應該使用視圖獲取配置項的方法
標準配置項數組
配置項數組目前是一個 二維數組,以下是一個標準的配置 ini 文件 及各個配置項的描述和默認值
; 調試模式,默認 false
debug = false
; 時區,默認為 中國上海時區
timezone = Asia/Shanghai
; 主題,默認為空
theme =
; 會話
[session]
; cookie 名稱,默認為 sid
name = sid
; cookie 有效期,默認為 0 表示瀏覽器會話
lifetime = 0
; cookie 路徑,默認為當前 basePath
path =
; cookie 域名,默認為當前域名
domain =
; 目錄
[path]
; MVC 根目錄,默認為當前入口文件目錄
; ??????
; 當 controllers / models / views 目錄不是絕對路徑時 (即非 / 開頭),
; 會在配置前加上 basepath 作為路徑前綴,
; 如 basepath = /data,那么默認的 controllers 為 /data/controllers
; 如此時 controllers 設置 /var/controllers,則會忽略 basepath 配置
basepath =
; 控制器目錄,默認為 controllers
controllers = controllers
; 模塊目錄,默認為 models
models = models
; 視圖目錄,默認為 views
; ??????
; 當 theme 主題配置非空時,視圖目錄會增加主題名作為后綴
; 如 views = views,theme = red,則視圖目錄為 views/red
views = views
; 靜態文件目錄,默認為空,通常為 CDN 域名或 public_html 下的目錄
; ??????
; 當 theme 主題配置非空時,靜態文件目錄會增加主題名作為后綴
; 如 static = files,theme = blue,則靜態文件目錄為 files/blue
static =
; 服務
[service]
; 服務地址,默認為空
url =
; 服務 token,默認為空,則 HTTP header 中不發送 token 頭
token =
; 服務超時,默認 15 秒
timeout = 15
; 連接超時,默認 2 秒
connecttimeout = 2
; 連接失敗重試次數,默認為 0
retry = 0
; 分發
[dispatch]
; 缺省控制器,默認為 default
default_controller = default
; 缺省控制器方法,默認為 index
default_action = index
; 缺省異常處理控制器,默認為 error
error_controller = error
; 缺省異常處理控制器方法,默認為 error
error_action = error
; 靜態路由,默認為空數組
[router]
; ??????
; 靜態路徑為鍵值對,鍵名為匹配的路徑名前綴,值為要替換成的目標路徑名
; 如 foo = bar,那么請求 foo/a/b 路徑將替換成 bar/a/b
Config::getAll
獲取整個配置項數組
array Config::getAll ( void )
參數
無返回值
配置項數組范例
$config = Azalea\Config::getAll();
Config::get
獲取一個配置項
mixed Config::get ( string $key [, mixed $default = null] )
參數
$key - 配置項鍵名
$default - 如果配置項不存在,則返回該默認值,默認為null
返回值
配置值范例
$debug = Azalea\Config::get('debug', false); // 獲取 ['debug'] 配置,如果沒有設置,則返回 false
Config::getSub
獲取一個二級配置項
mixed Config::getSub ( string $key, string $subKey [, mixed $default = null] )
- 參數
$key - 配置項鍵名
$subKey - 二級配置項鍵名
$default - 如果配置項和二級配置項不存在,則返回該默認值,默認為null
?? 如果配置項非數組,則認為 不存在
返回值
配置值范例
$sessionId = Azalea\Config::getSub('session', 'name', false); // 獲取 ['session']['name'] 配置項