配置结构
配置
├─系统表
│ ├─默认配置
│ ├─静态配置
│ │ ├─全局配置
│ │ └─模块配置
│ │
│ └─动态配置
│
├─路由表
└─权限表
可以使用程序生成和管理配置
默认配置
固定在程序中的初始配置(类中私有属性 $cfg = []),可以被用户配置覆盖
静态配置
用户在config.php中的配置,覆盖默认配置,类初始化时使用
- 全局配置:位于实例cfg目录下的config.php(如:/www/cfg/config.php)
- 模块配置:位于各模块下的config.php(如:/mod/home/config.php),定义在模块命名空间下
在模块中,模块配置覆盖全局配置
动态配置
带参数初始化或者使用 cfg() 配置,覆盖静态配置
/* 带参数初始化,boa命名空间下的类都可以这么访问,都可以传参(只要支持静态配置) */
$cookie = boa::cookie(['expire' => 999]);
/* 或者初始化后使用cfg(),不是所有类都支持 */
$http = boa::http();
$http->cfg('header', [...]);
$http->cfg('header.Referer', '...'); // 支持二维数组(节点式写法)
echo $http->cfg('header.Referer');
关于配置项参见相关 配置表
优先级
动态配置 > 静态配置(模块配置 > 全局配置) > 默认配置
配置访问
config.php里的数组按键名依次定义为常量,名称大写
- PHP中:boa::const('NAME') 或 NAME(模块配置使用:\模块\NAME)
- 模板中:{NAME}