boa框架开发手册v5.2

系统执行

启动

每个入口文件,在定义必须的 BS_ROOT 和 BS_WWW 常量后,系统从 boa::start() 启动:

  • BS_ROOT 表示系统所在根路径
  • BS_WWW 表示当前实例所在路径

调用

可以使用 boa::call() 来调用任意模块中控制器的动作,可模拟浏览器的访问:


$res = boa::call('news.content.show', ['id' => 1]);
	

模型

可以使用 boa::model() 来访问任意模块中的模型类:


$arr = boa::model('news.content')->get(1);
	

类库

可以使用 boa::lib() 来访问任意模块下library目录中类的方法:


$arr = boa::lib('admin.common')->run(1); //调用admin模块下common类的run方法
$arr = boa::lib('common')->run(1); //调用同模块下common类的run方法
	

环境

所有动作的执行都依据环境数据,一组环境数据完整的结构:


[
	'lng'  => 'zh-cn',  //语言
	'mod'  => 'home',   //模块
	'con'  => 'index',  //控制器
	'act'  => 'index',  //动作
	'var' => [          //额外变量
		'page' => 1     //分页
		'....'          //等
	]
]
	

可以使用 boa::env() 来访问当前环境数据:


$mod = boa::env('mod');
$env = boa::env();
	

想得到上层环境数据(即当前环境所处环境)请使用 boa::in_env()

变量

在一个动作中,可以直接使用形如 $this->id 来访问$_GET, $_POST, $_COOKIE 以及环境var数组中的数据

常量

系统配置最终会被定义为常量,访问方法同常量

  • PHP中:boa::constant('NAME') 或 NAME(模块配置:mod\NAME)
  • 模板中:{NAME}