项目代码说明
Masterlab使用Hornet-framework框架进行开发的,Hornet-framework是一个高性能,轻量级,易于上手,功能完备的PHP LMVC 开发框架。 LMVC分别是 Logic逻辑 Model模型 View视图 Ctrl控制器,与传统的MVC框架比多一层Logic层,目的是解决在复杂的应用系统时, 逻辑代码混杂于Model或Ctrl之间的问题。为简化安装流程提升用户体验,4.0版本已经规划使用Go+React+Flutter技术栈进行开发。
配置开发环境
Masterlab 当前主要使用 PHP 和 JQuery 以及Mysql技术进行开发,为提高PHP的执行性能性能,开发使用PHP7.0以上的版本,依赖类库使用Composer进行组织, 数据库使用Mysql5.7及以上版本以支持中文全文索引,为减少数据库查询使用Redis作为数据缓存。
git v2.1 +
php v7.1 +
phpunit v7.0+
composer v1.6.0 +
Mysql v5.7 +
Redis v3.0 +
拉取源代码
git clone https://github.com/gopeak/hornet-framework.git
git clone https://github.com/gopeak/masterlab.git
cd masterlab
git checkout -b dev
git pull origin dev
composer update
安装 Masterlab 参考文档 ?md=private-deployment
Masterlab的目录结构说明
masterlab
|-- vendor 为composer的第三方类库
|-- lib 为非vendor的第三方类库
|-- public 为网站访问到目录,入口文件在此,可存放静态文件
|-- storage 为存储目录,可存放临时文件 上传文件 大数据等
|-- test 测试相关目录,使用PHPUNIT进行单元测试和自动化测试
|-- app 为项目实现代码
|-- app/classes 为逻辑实现类
|-- app/config 为配置文件目录,有部署 开发不同的配置可切换
|-- app/ctrl 控制器目录,用于编写流程控制
|-- app/function 为函数存放目录
|-- app/model 为模型类,主要用于数据库 缓存 IO 等交互
|-- app/api 为api接口的控制器类
|-- app/view 视图层
|-- app/server 异步,队列,定时执行的服务代码
PHP代码说明
- PHP代码遵循psr2标准,使用驼峰命名规范
- 更多的开发说明,请参考 Hornet-framework 的开发指南 https://github.com/gopeak/hornet-framework/wiki
- 项目中大部分使用了前后端分离,以ajax异步调用的方式获取和显示数据。
- 部分页面的内容仍然使用php的twig模板引擎直接输出和控制前端的html js
- config.yml 有不同状态的配置,开发时从复制一份为 config.development.yaml ,然后再 env.ini 文件中修改为 development 即可
- 每当修复某个bug或新加一些功能后,要编写对应的测试代码,以保障质量,测试代码位于 app/test ,如何运行参见 readme.txt 文件
- 配置文件中的 app.cfg.php 为主配置文件,可以开启或关闭 缓存,调试等选项
前端说明
使用Jquery 作为基础的类库,前端数据获取主要通过ajax调用的方式获取,获取数据后通过handlebars模板引擎进行视图呈现。