boaPHP开发手册v5.5

boa类
版本 1.0+
命名空间 boa
文件 boa/boa.php
说明 系统的总控,静态类,程序的启动、初始化、子过程的调度、类的访问等均通过此类,配置:
'VERSION' => '',
'NAME' => '',
'CHARSET' => '',
'SALT' => '',
'DEBUG' => ,
'LANGUAGE' => '',
配置
配置项 默认值 类型 说明
VERSION 5.5 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() 访问各模块中的模型
const() 获取常量
db() boa::database()别名,参见 __callStatic()
lib() 访问各模块中的类
save() 设置页面保存路径,如果设定,页面执行后会将HTML内容保存到该位置
getkey() 根据常量值获取常量键
conf() 初始配置,定义全局常量
mod() 模块配置,定义模块常量,并触发module监听器
con() 初始化控制器,并触发controller监听器
head() 设置默认响应头
type() 设置全局消息输出类型
finish() 生成静态和写日志等,PHP请求结束会自动调用,使用boa::call()时可以手动调用此方法来模拟每个页面执行结束
debug() 调试变量,输出到临时目录 debug.txt
__callStatic() 魔术方法,容器式调用类
方法

init()

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

start()

说明
启动主程序
参数 必须 默认值 类型 说明
$env [] array 设置启动环境,否则从默认环境启动
示例
boa::start();

call()

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

$res = boa::call('list', ['page' => 1]); ////等同:?m=news&c=content&a=list&page=1

info()

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

env()

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

route()

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

in_env()

说明
返回当前环境的上层环境
返回值
返回上层环境(array)
示例
$env = boa::in_env();

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

model()

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

const()

说明
获取常量
参数 必须 默认值 类型 说明
$key Y string 常量名称,优先得到模块中常量
返回值
返回常量(string)
示例
echo boa::const('NAME');

db()

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

lib()

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

save()

说明
设置页面保存路径,如果设定,页面执行后会将HTML内容保存到该位置
参数 必须 默认值 类型 说明
$path Y string 绝对路径用以保存HTML
$force false bool 是否强制覆盖已有HTML文件
示例
boa::save(BS_WWW ."news/$id.html", true);

getkey()

说明
根据常量值获取常量键
参数 必须 默认值 类型 说明
$val Y string 常量值
$type 0 int 常量类型,可选值:
0:PHP全局常量
1:类的内部常量
$class string 组名或类名,
type=0时:PHP常量分组名称,留空则全部
type=1时:常量所在类的名称
$prefix string 常量前缀,不同常量会有相同值,为了精确获取
返回值
返回常量键名(string)
示例
$key = boa::getkey($v, 1, 'ZipArchive', 'ER_'); // 获取ZipArchive类内部常量

$key = boa::getkey($v, 0, 'json', 'JSON_ERROR_'); // 获取json常量

conf()

说明
初始配置,定义全局常量

mod()

说明
模块配置,定义模块常量,并触发module监听器
参数 必须 默认值 类型 说明
$mod Y string 模块名

con()

说明
初始化控制器,并触发controller监听器
参数 必须 默认值 类型 说明
$key null string [模块.]控制器(节点式),省略取当前环境值
返回值
返回初始化后的控制器类(object)

head()

说明
设置默认响应头

type()

说明
设置全局消息输出类型

finish()

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

debug()

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

__callStatic()

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

$http = boa::http($cfg) // 得到http类