项目代码说明

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模板引擎进行视图呈现。