IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> PHP知识库 -> 2021-06-29 -> 正文阅读

[PHP知识库]2021-06-29

DDD开发规范
标准目录结构:
modules/authority
│ Module.php

├─aggregates
│ │ BaseAuthorityPermissionAggregate.php
│ │ BaseAuthorityPermissionGroupAggregate.php
│ │ BaseAuthorityPermissionGroupItemAggregate.php
│ │ BaseAuthorityPermissionGroupUserAggregate.php
│ │
│ └─querys
│ BaseAuthorityPermissionAggregateQuery.php
│ BaseAuthorityPermissionGroupAggregateQuery.php
│ BaseAuthorityPermissionGroupItemAggregateQuery.php
│ BaseAuthorityPermissionGroupUserAggregateQuery.php

├─components
│ ModuleConfig.php
│ ModuleManager.php

├─config
│ main.php

├─entitys
│ │ BaseAuthorityPermissionEntity.php
│ │ BaseAuthorityPermissionGroupEntity.php
│ │ BaseAuthorityPermissionGroupItemEntity.php
│ │ BaseAuthorityPermissionGroupUserEntity.php
│ │
│ └─querys
│ BaseAuthorityPermissionEntityQuery.php
│ BaseAuthorityPermissionGroupEntityQuery.php
│ BaseAuthorityPermissionGroupItemEntityQuery.php
│ BaseAuthorityPermissionGroupUserEntityQuery.php

├─models
│ │ BaseAuthorityPermissionGroupItemModel.php
│ │ BaseAuthorityPermissionGroupModel.php
│ │ BaseAuthorityPermissionGroupUserModel.php
│ │ BaseAuthorityPermissionModel.php
│ │
│ └─querys
│ BaseAuthorityPermissionGroupItemModelQuery.php
│ BaseAuthorityPermissionGroupModelQuery.php
│ BaseAuthorityPermissionGroupUserModelQuery.php
│ BaseAuthorityPermissionModelQuery.php

├─modules
│ └─mall
│ │ Module.php
│ │
│ ├─aggregates
│ │ │ AuthorityPermissionAggregate.php
│ │ │ AuthorityPermissionGroupAggregate.php
│ │ │ AuthorityPermissionGroupItemAggregate.php
│ │ │ AuthorityPermissionGroupUserAggregate.php
│ │ │
│ │ └─querys
│ │ AuthorityPermissionAggregateQuery.php
│ │ AuthorityPermissionGroupAggregateQuery.php
│ │ AuthorityPermissionGroupItemAggregateQuery.php
│ │ AuthorityPermissionGroupUserAggregateQuery.php
│ │
│ ├─commands
│ │ ├─permission
│ │ │ FilterAuthorityPermissionToOnlyLeafCommand.php
│ │ │ GetAuthorityPermissionAggregateTreeCommand.php
│ │ │
│ │ ├─permissionGroup
│ │ │ CreateAuthorityPermissionGroupCommand.php
│ │ │
│ │ ├─permissionGroupUser
│ │ │ CreateAuthorityPermissionGroupUserCommand.php
│ │ │ DelAuthorityPermissionGroupUserCommand.php
│ │ │
│ │ └─userPermission
│ │ GetAllUserAuthorityPermissionsCommand.php
│ │
│ ├─config
│ │ main.php
│ │
│ ├─controllers
│ │ PermissionController.php
│ │ PermissionGroupController.php
│ │ PermissionGroupUserController.php
│ │
│ ├─entitys
│ │ │ AuthorityPermissionEntity.php
│ │ │ AuthorityPermissionGroupEntity.php
│ │ │ AuthorityPermissionGroupItemEntity.php
│ │ │ AuthorityPermissionGroupUserEntity.php
│ │ │
│ │ └─querys
│ │ AuthorityPermissionEntityQuery.php
│ │ AuthorityPermissionGroupEntityQuery.php
│ │ AuthorityPermissionGroupItemEntityQuery.php
│ │ AuthorityPermissionGroupUserEntityQuery.php
│ │
│ ├─forms
│ │ ├─permission
│ │ │ AuthorityChildrenPermissionsForm.php
│ │ │ AuthorityPermissionCreateForm.php
│ │ │ AuthorityPermissionDelForm.php
│ │ │ AuthorityPermissionForSelectForm.php
│ │ │ AuthorityPermissionIndexForm.php
│ │ │
│ │ ├─permissionGroup
│ │ │ AuthorityPermissionGroupCreateForm.php
│ │ │ AuthorityPermissionGroupDelForm.php
│ │ │ AuthorityPermissionGroupForSelectForm.php
│ │ │ AuthorityPermissionGroupIndexForm.php
│ │ │ AuthorityPermissionGroupViewForm.php
│ │ │
│ │ └─permissionGroupUser
│ │ AuthorityPermissionGroupUserCreateForm.php
│ │ AuthorityPermissionGroupUserDelForm.php
│ │ AuthorityPermissionGroupUserIndexForm.php
│ │ AuthorityPermissionGroupUserViewForm.php
│ │
│ └─models
│ │ AuthorityPermissionGroupItemModel.php
│ │ AuthorityPermissionGroupModel.php
│ │ AuthorityPermissionGroupUserModel.php
│ │ AuthorityPermissionModel.php
│ │
│ └─querys
│ AuthorityPermissionGroupItemModelQuery.php
│ AuthorityPermissionGroupModelQuery.php
│ AuthorityPermissionGroupUserModelQuery.php
│ AuthorityPermissionModelQuery.php

└─tables
│ AuthorityPermissionGroupItemTable.php
│ AuthorityPermissionGroupTable.php
│ AuthorityPermissionGroupUserTable.php
│ AuthorityPermissionTable.php

└─querys
AuthorityPermissionGroupItemTableQuery.php
AuthorityPermissionGroupTableQuery.php
AuthorityPermissionGroupUserTableQuery.php
AuthorityPermissionTableQuery.php
一、controller层 (查看上面参考)
1.响应前端传来的数据,将json数据、stdin数据等都转换成数组,然后传递给form层
2.接受form返回的数据,并整合成json
3.前端一般推荐post请求
3.一个controller action可以调用多个form,从而打包返回给前端,避免多次请求
二、form层,表单层 (查看上面参考)
1.响应controller来的数据,并返回数据给controller层
2.调用command或者Aggregate,AggregateQuery等返回结果
3.调用其他form,完成复杂操作

三、m层多层结构
这里是正常mvc里model层的扩展,分为以下几个层次
1.table层 (查看上面参考)
顾名思义,是从数据表里直接生成的,一般使用gii直接生成,不用处理,完成数据库阶段的验证,比如id必须是整型等
为了消除列歧义,数据库字段必须加上表明,例如team_group__id,命名格式:表明__字段名
2.model层 继承自 table层 (查看上面参考)
model层用来屏蔽数据库底层,例如数据库中字段为team_group__id,在model层中使用getId,setId来进行代理
model层规定底层数据返回
3.entity层,实体本身的属性 (查看上面参考)
这里返回类成员变量(不是关联表),例如model中定义的是width和height,那么entity中的square定义面积 = t h i s ? > w i d t h ? this->width* this?>width?this->height,
这里要顶返回detail,list
4.Aggregate层,负责处理关联 (查看上面参考)

    public function getGoodsAggregate()
    {
        return $this->hasOne(GoodsAggregate::class, ['id' => 'gxxy_order__goods_id']);
    }    

5.command层, (查看上面参考)
用于解决关联表之间的写问题
例如更新了订单完成后需要发送一个通知给客户,需要单独做一个command
成员变量:UserAggregate,OrderAggregate
只有一个方法:execute
返回,可以为true,或者异常

领域驱动参考文章:https://segmentfault.com/a/1190000021576876

  PHP知识库 最新文章
Laravel 下实现 Google 2fa 验证
UUCTF WP
DASCTF10月 web
XAMPP任意命令执行提升权限漏洞(CVE-2020-
[GYCTF2020]Easyphp
iwebsec靶场 代码执行关卡通关笔记
多个线程同步执行,多个线程依次执行,多个
php 没事记录下常用方法 (TP5.1)
php之jwt
2021-09-18
上一篇文章      下一篇文章      查看所有文章
加:2021-07-15 15:56:45  更:2021-07-15 15:58:10 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/7 14:52:52-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码