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'] 配置项
网友评论