boa框架开发手册v5.2

boa类
版本 1.0+
命名空间 boa
文件 boa/boa.php
说明 系统的总控,静态类,程序的启动、初始化、子过程的调度、类的访问等均通过此类,配置:
'VERSION' => '',
'NAME' => '',
'CHARSET' => '',
'SALT' => '',
'DEBUG' => ,
'LANGUAGE' => '',
配置
配置项 默认值 类型 说明
VERSION 5.2 string 必须;系统版本,固定的
NAME BoaSoft.Top string 必须;系统默认名称
CHARSET UTF-8 string 必须;系统字符集
SALT boa2020 string 必须;系统各种加密盐度值,建议设置复杂一点
DEBUG false bool 可选;是否开启调试模式
LANGUAGE zh-cn string 可选;默认语言包
目录
方法 说明
init() 初始化,完成系统的一些初始设置和配置,完成后触发 \boa\event\listener\init 监听器
start() 启动主程序
call() 后端调用控制器中的动作,达到模拟浏览器请求,完成后触发 \boa\event\listener\action 监听器
info() 获取或设置$info变量信息,$info包含了系统的运行时间、内存等信息
env() 获取和设置当前环境数据
route() 解析当前URL得到环境数据
in_env() 返回当前环境的上层环境
lang() 解析语言文本
model() 访问各个模块中的模型
constant() 获取常量
db() boa::database()别名,参见 __callStatic()
lib() 访问各个模块中的类
save() 设置页面保存路径,如果设定,页面执行后会将HTML内容保存到该位置
finish() 生成静态和写日志等,PHP进程结束会自动调用,使用boa::call()时可以手动调用此方法来模拟每个页面执行结束
debug() 调试变量,输出到临时目录 debug/debug.txt
__callStatic() 魔术方法,容器式调用类
方法

init()

说明
初始化,完成系统的一些初始设置和配置,完成后触发 \boa\event\listener\init 监听器

start()

说明
启动主程序
参数 必须 默认值 类型 说明
$env [] array 设置启动环境,否则从默认环境启动

call()

说明
后端调用控制器中的动作,达到模拟浏览器请求,完成后触发 \boa\event\listener\action 监听器
参数 必须 默认值 类型 说明
$key string '模块.控制器.动作'(节点式),要调用的动作,省略的节点则代表当前环境
$var [] array 设置环境var参数
返回值
如果执行的动作有返回值,则返回
示例
$res = boa::call('news.content.show', ['id' => 1]);

$res = boa::call('list', ['page' => 1]);

info()

说明
获取或设置$info变量信息,$info包含了系统的运行时间、内存等信息
参数 必须 默认值 类型 说明
$k null string
$v null string
返回值
如果设定$k和$v:则设置$info中$k项,无返回值;
如果只设定$k:则返回$info中$k值(string);
如果都未设定:则返回整个$info数组(array);

env()

说明
获取和设置当前环境数据
参数 必须 默认值 类型 说明
$k null string 键,支持节点式写法,比如 var.page 表示var参数中page参数
$v null string
返回值
如果设定$k和$v:则设置当前环境中$k项,无返回值;
如果只设定$k:则返回当前环境中$k值(string);
如果都未设定:则返回整个当前环境数据(array);
示例
$mod = boa::env('mod');
$env = boa::env();

route()

说明
解析当前URL得到环境数据

in_env()

说明
返回当前环境的上层环境
返回值
返回上层环境(array)

lang()

说明
解析语言文本
参数 必须 默认值 类型 说明
$... Y string 动态参数;首个参数为语言标签,节点式写法,最少三级,必须;后续参数为该语言文本中的可替换项,可选
返回值
返回语言文本(string 或 array)
示例
boa::lang('home.index.name');   //boasoft
boa::lang('home.index.type');   //['a'=>'1', 'b'=>'2', 'c'=>'3']
boa::lang('home.index.type.b'); //2

boa::lang('boa.error.2', 'home/controller/test.php'); //文件或目录 home/controller/test.php 不存在

model()

说明
访问各个模块中的模型
参数 必须 默认值 类型 说明
$key Y string '模块.模型'(节点式写法)
返回值
返回模型类(object)
示例
$cat = boa::model('home.category');
$arr = $cat->list(1);

constant()

说明
获取常量
参数 必须 默认值 类型 说明
$key Y string 常量名称,优先得到模块中常量
返回值
返回常量(string)

db()

说明
boa::database()别名,参见 __callStatic()

lib()

说明
访问各个模块中的类
参数 必须 默认值 类型 说明
$key Y string '[模块.]类'(节点式写法),省略模块节点则表示当前模块
$args null mixed 类的初始化参数
返回值
返回类(object)
示例
$cls = boa::lib('test'); // mod/home/library/test.php

$cls = boa::lib('user.test'); // mod/user/library/test.php

save()

说明
设置页面保存路径,如果设定,页面执行后会将HTML内容保存到该位置
参数 必须 默认值 类型 说明
$path Y string 绝对路径用以保存HTML
$force false bool 是否强制覆盖已有HTML文件

finish()

说明
生成静态和写日志等,PHP进程结束会自动调用,使用boa::call()时可以手动调用此方法来模拟每个页面执行结束

debug()

说明
调试变量,输出到临时目录 debug/debug.txt
参数 必须 默认值 类型 说明
$v Y string 要调试的变量,支持字符串、数组、对象等
$k - string 变量名称,便于区别

__callStatic()

说明
魔术方法,容器式调用类
参数 必须 默认值 类型 说明
$name Y string 要调用的类名
$cfg [] array 动态配置,默认使用config.php中配置
返回值
返回类(object)
示例
boa::db() //database类
boa::file() //file类
boa::http($cfg) //http类