系统架构
前言:公司系统原先使用thinkphp3.2做开发,后来积累下来的问题太多,没法继续开发,现在重新选框架,重新架构
框架选择:symfony4
框架的选择上,laravel虽然是目前使用最多的框架,但企业级的框架讨论结果还是非symfony莫属,从0开始
后台大致架构:
controller:控制层
- 负责输入输出数据的格式转换
- 数据验证(调用validator的复用型验证,和私有方法的个性化验证)
- 路由控制
- 权限控制
- Command:命令行
- Entity:数据库实体
- EventSubscriber:订阅器,比如Exception监听,Response监听等
- Logic:处理业务逻辑,有问题直接抛异常
- Migrations:数据库迁移更新文件
- Repository:数据库操作
- Security:用户权限处理,赋权
- Service:工具类
- Validator:可复用的数据验证
后台最少要使用5层结构,Security+Controller+Logic+Repository+Entity