目录结构
/ 根目录
├─boa 内核目录
├─mod 模块目录
├─var 临时目录(写权限)
├─www 实例目录(写权限)
├─... 更多实例(写权限)
│
├─composer.json composer配置文件
├─boa.chm 开发手册
├─tool.php 规则测试工具
└─index.php 入口文件
实例即一般意义上的站点,用户可以创建更多实例,例如:test.com
boa目录
boa是框架内核,为了后续升级不建议修改,可以在各自模块内进行自定义功能扩展。
mod目录
mod是模块目录,主要用于存放后端程序,每个子目录就是一个模块,目录名即模块名。以test为例创建模块:
php boa -m test
每个模块的目录结构:
/mod/test/ test模块
├─cacher 缓存器
├─controller 控制器
├─installer 安装器
├─listener 监听器
├─validater 验证器
│ ├─checker.php 检查器文件
│ └─filter.php 过滤器文件
├─variable 自动验证配置
├─language 语言包
├─library 类库
├─model 模型
├─public 资源
├─view 视图
│
└─config.php 模块配置文件
创建模块时,public会被移至www/res/test目录;view会被移至www/tpl/test目录
www目录
www是默认实例目录,主要用于存放前端文件,目录名即实例名。以test.com为例创建实例:
php boa -w test.com
创建实例的同时,会在var下创建该实例对应的临时目录
每个实例的目录结构:
/test.com/ test.com实例
├─cfg 存放配置文件,如路由、权限等
├─file 存放用户文件,如上传的图片
├─res 存放资源文件,如JS、CSS、图片
├─tpl 存放视图文件,如模板、404页面
├─... 更多自定义目录,如存放html等
│
├─.htaccess Apache配置文件
├─web.config IIS配置文件
├─favicon.ico 网站头像文件
├─robots.txt 搜索引擎配置文件
├─boa boa命令
└─index.php 入口文件
然后将 test.com 域名绑定到该目录。
var目录
var是实例运行时的临时目录,主要用于存放临时数据,目录名即实例名。
每个临时目录结构:
/var/test.com/ test.com实例的临时目录
│
├─cache cache类数据,比如缓存数据
├─crypt crypt类数据,比如RSA公钥、私钥
├─http http类数据,比如curl证书
├─image image类数据,比如字体、水印
├─log log类数据,比如系统日志
├─session session类数据,比如用户会话
├─view view类数据,比如模板缓存
│
└─... 更多其他动态数据
鉴于安全性,建议禁止外部访问var目录
入口文件
根目录下的index.php、各实例目录下的index.php以及用户自定义的其他文件。其中必须要定义2个常量:
调用 boa::start() 启动。