boaPHP开发手册v5.5

概念规范

错误码

所有的错误提示都在语言包error.php中,键值为错误码,在json中会作为code值。

  • 状态码为0表示无错
  • 1-999为框架错误码
  • 小于0为PHP错误码

所以在模块语言包中定义错误码请从1000开始。

命名空间

  • 内核:以 boa 开头
  • 模块:以 mod 开头

后面按照文件路径命名,子命名空间分隔符请用 \

目录分隔符

不论在Windows、Linux还是Mac OS中,所有文件路径中的目录分隔符,除命名空间外请统一用 /

框架编码

框架统一使用UTF-8编码(由CHARSET指定),在使用之前若想更换框架编码:

  • 修改配置:CHARSET
  • 修改数据库配置的连接编码
  • 使用工具转换中文语言包编码:/boa/language/zh-cn/

其中生成解析Json/XML文档的内容,压缩ZIP时的文档注释必须使用UTF-8,使用其他编码时用到这些功能要注意

开发时遇到乱码问题,请注意编辑器中使用的编码与框架配置CHARSET的编码要一致

命名约定

除了常量全部大写,其他默认一般小写,类名即文件名。

容器式调用

boa命名空间下的类,可以用 boa::$name() 来调用,$name 为要调用的类名,不用管他是否初始化。该写法不适用于以下情况:

  • 静态类:boa,msg,util
  • boa子命名空间下的类

	$a = boa::file(); //得到file类
	$a->chmod('D:/boa/www/');

	$b = boa::log([...]); //得到log类
	$b->set('info', 'You are awesome!');
	

节点式写法

系统中很多标识采用'.'连接符的节点式写法,比如 admin.index.test 表示 admin模块->index控制器->test动作。

  • 数组:'节点一.节点二.节点三' 表示某多维数组的结果
  • 语言:boa::lang('模块.语言文件.键') 首个节点为 boa 表示内核
  • 缓存:boa::cache()->get('模块.缓存器') 首个节点省略表示内核
  • 模型:boa::model('模块.模型')
  • 路由表:'模块.控制器.动作' 二和三节点可省略
  • 权限表:'模块.控制器.动作' 二和三节点可省略
  • 命令行:php boa -r 模块.控制器.动作 二和三节点可省略

环境数据

“环境”是框架特有的重要概念,非PHP的环境变量,程序的执行主要依赖该数据,改变该数据则可以改变程序的执行方向。可以用 boa::env() 得到当前程序运行环境,主要包括以下元素:

  • lng:当前语言
  • mod:当前模块
  • con:当前控制器
  • act:当前动作
  • var:其他数据组成的数组,比如:page(分页)