开发指南

开发框架

Masterlab使用Hornet-framework框架进行开发的,Hornet-framework是一个高性能,轻量级,易于上手,功能完备的PHP LMVC 开发框架。LMVC分别是 Logic逻辑 Model模型 View视图 Ctrl控制器,与传统的MVC框架比多一层Logic层,目的是解决在复杂的应用系统时,逻辑代码混杂于Model或Ctrl之间的问题。

要求

Masterlab 当前主要使用 PHP 和 JQuery 以及Mysql技术进行开发,为提高PHP的执行性能性能,开发使用PHP7.0以上的版本,依赖类库使用Composer进行组织,数据库使用Mysql5.7及以上版本以支持中文全文索引,为减少数据库查询使用Redis作为数据缓存。

  1. git v2.1 +
  2. php v7.1 +
  3. phpunit v7.0+
  4. composer v1.6.0 +
  5. Mysql v5.7 +
  6. Redis v3.0 +

配置开发环境

通过git获取源代码

  1. mkdir /c/www/
  2. cd /c/www/
  3. git clone git@github.com:gopeak/hornet-framework.git
  4. git clone git@github.com:gopeak/masterlab.git
  5. cd masterlab
  6. git checkout -b dev
  7. git pull origin dev
  8. composer update

安装 Masterlab 参考文档 http://www.masterlab.vip/help.php?md=env

Masterlab的目录结构说明

  1. hornet-framework 开发框架
  2. masterlab
  3. |-- vendor composer的第三方类库
  4. |-- lib 为非vendor的第三方类库
  5. |-- app 为项目实现代码
  6. |-- app/classes 为逻辑实现类
  7. |-- app/config 为配置文件目录,有部署 开发不同的配置可切换
  8. |-- app/ctrl 控制器目录,用于编写流程控制
  9. |-- app/function 为函数存放目录
  10. |-- app/model 为模型类,主要用于数据库 缓存 IO 等交互
  11. |-- app/public 为网站访问到目录,入口文件在此,可存放静态文件
  12. |-- app/api api接口的控制器类
  13. |-- app/storage 为存储目录,可存放临时文件 上传文件 大数据等
  14. |-- app/test 测试相关目录,使用PHPUNIT进行单元测试和自动化测试
  15. |-- app/view 视图层
  16. |-- app/server 异步,队列,定时执行的服务代码

插件开发

目前Masterlab尚未支持插件功能,因为如果要进行二次开发,只能在当前的代码直接修改

PHP代码说明

  • PHP代码遵循psr2标准,使用驼峰命名规范
  • 更多的开发说明,请参考 Hornet-framework 的开发指南 https://github.com/gopeak/hornet-framework/wiki
  • 项目中大部分使用了前后端分离,以ajax异步调用的方式获取和显示数据。
  • 部分页面的内容仍然使用php代码直接输出和控制前端的html js, php.ini需要开启 short_open_tag
  • app/config 有不同状态的配置,开发时从deploy中复制一份为 development ,然后再 .env 文件中修改为 development 即可
  • 每当修复某个bug或新加一些功能后,要编写对应的测试代码,以保障质量,测试代码位于 app/test ,如何运行参见 readme.txt 文件
  • 配置文件中的 app.cfg.php 为主配置文件,可以开启或关闭 缓存,调试等选项

前端说明

使用Jquery 作为基础的类库,前端数据获取主要通过ajax调用的方式获取,获取数据后通过handlebars模板引擎进行视图呈现。后期规划使用Vue的单页模式进行开发。事项导航搜索模块的UI和交互等使用了Gitlab源码。