基于Phalcon扩展的框架完善

设计思路:领域驱动设计

1.基础服务层:DI容器,service,router-rule,access-token,logger,validation,exception…

2.领域模块:modules(admin,api

3.基础数据模块:models

4.领域下的数据模块:

项目目录:动因商城Phalcon框架整理

目录结构.png

基于Phalcon扩展的框架完善_第1张图片

基于Phalcon扩展的框架完善_第2张图片
常见服务命名约定

实现

1.简化配置文件

2.结构化框架Service注册部分实现

3.结构化框架Exception管理

4.结构化Module 内的Event绑定

5.重构路由白名单/权限验证AccessControl

5.按照固定的设计规范梳理出适合当前开发需求的框架结构


基于Phalcon扩展的框架完善_第3张图片
image.png
基于Phalcon扩展的框架完善_第4张图片
image.png

备注:
1.基础类:

  • 作用:统一常用类属性1.属性是否可读/可写,2.属性/方法是否存在,3.调用不存在方法/属性时统一抛出可捕获异常

  • 实现:重写__get(),__set(),__call(),完成hasPorperty()….

2.异常管理:

  • 作用:规范代码中抛出的异常,给开发人员提供更直观的异常处理提示

  • 实现:所有异常都需要继承父类XXXException,表意化重命名,设定getName方法

3.事件:

  • 作用:解藕逻辑,保持各模块代码统一

  • 实现:各个模块下event目录下的所有类 都需要被反射注入到当前模块下

4.消息队列模块:

  • 作用:即时消息:解藕业务,分离主/副业务流程 延时消息:

  • 实现:RabbitMQ等消息组件使用/阿里云消息队列服务

5.用户鉴权:

  • 作用:在运行到指定子模块下时,对当前的URL进行各种鉴权,统一处理

  • 实现:子模块配置路径白名单,在访问路径时,通过重写baseControll的初始化方法进行校验

6.日志记录服务: -作用:统一日志记录服务,解耦业务,方便问题排查

  • 实现:日志存储服务,解析服务,日志查询,可视化服务ELK/阿里云日志服务

*git服务,代码提交管理,50行高度,120列长度
*【1】.领域驱动设计在互联网业务开发中的实践

你可能感兴趣的:(基于Phalcon扩展的框架完善)