| 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 |