基于Phalcon扩展的框架完善

设计思路:领域驱动设计

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

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

3.基础数据模块:models

4.领域下的数据模块:

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

目录结构.png


常见服务命名约定

实现

1.简化配置文件

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

3.结构化框架Exception管理

4.结构化Module 内的Event绑定

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

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


image.png
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】.领域驱动设计在互联网业务开发中的实践

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容