boaPHP开发手册v5.5

配置结构

配置
  ├─系统表
  │    ├─默认配置
  │    ├─静态配置
  │    │    ├─全局配置
  │    │    └─模块配置
  │    │
  │    └─动态配置
  │
  ├─路由表
  └─权限表

可以使用程序生成和管理配置

默认配置

固定在程序中的初始配置(类中私有属性 $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}