PHPackages                             blankkids/thinkphp-ddd - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. blankkids/thinkphp-ddd

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

blankkids/thinkphp-ddd
======================

TP50 DDD 代码生成工具 - 包含 thinkex 命令行工具、基础领域层和代码生成扩展类

02↓100%PHP

Since Mar 20Pushed 1mo ago1 watchersCompare

[ Source](https://github.com/blankkids/thinkphp-ddd)[ Packagist](https://packagist.org/packages/blankkids/thinkphp-ddd)[ RSS](/packages/blankkids-thinkphp-ddd/feed)WikiDiscussions main Synced 1mo ago

READMEChangelogDependenciesVersions (1)Used By (0)

ThinkEx - TP50 DDD 代码生成工具
=========================

[](#thinkex---tp50-ddd-代码生成工具)

简介
--

[](#简介)

ThinkEx 是一个基于 ThinkPHP 5.0 的 DDD（领域驱动设计）代码生成扩展包，提供了完整的领域层基础架构和自动化代码生成工具。

包含内容
----

[](#包含内容)

### 1. 命令行工具

[](#1-命令行工具)

- **thinkex** - 模块代码生成工具
- **tool** - 数据库文档生成工具

### 2. 扩展类 (extend/thinkex/)

[](#2-扩展类-extendthinkex)

- `ThinkEx.php` - 代码生成核心类
- `ContentReplace.php` - 内容替换类
- `PdoDB.php` - PDO 数据库操作类
- `MongoDB.php` - MongoDB 操作类
- `tool.php` - 工具类

### 3. 基础领域层 (domain/base/)

[](#3-基础领域层-domainbase)

- `controller/BaseController.php` - 控制器基类
- `model/BaseModel.php` - 模型基类
- `repository/BaseRepository.php` - 仓储基类
- `srv/BaseSrv.php` - 服务基类
- `error/BaseError.php` - 错误码基类
- `enum/BaseEnum.php` - 枚举基类
- `request/BaseRequest.php` - 请求验证基类
- `tran/BaseTran.php` - 数据转换基类
- `job/JobBase.php` - 队列基类
- `console/CommandBase.php` - 命令基类
- `middleware/` - 中间件
- `behavior/` - 行为类

### 4. 示例模块 (domain/demo/)

[](#4-示例模块-domaindemo)

作为代码生成的模板，展示了标准的 DDD 模块结构。

目录结构规范
------

[](#目录结构规范)

```
domain/
    └── [模块名]/
        ├── port/                    # 应用层-端口业务
        │   ├── controller/          # 控制器
        │   ├── request/             # 输入验证
        │   ├── logic/               # 服务函数组合层
        │   └── trans/               # 输出过滤
        ├── config/                  # 领域层-模块配置
        ├── enum/                    # 领域层-常量枚举值
        ├── error/                   # 领域层-业务异常值
        ├── srv/                     # 领域层-服务函数层
        ├── repository/              # 领域层-仓储层
        ├── model/                   # 基础层-MySQL数据模型
        ├── aggr/                    # 领域层-聚合
        ├── entity/                  # 基础层-实体
        ├── edoc/                    # 基础层-ElasticSearch数据模型
        ├── job/                     # 领域层-队列
        └── console/                 # 领域层-业务指令

```

安装
--

[](#安装)

```
composer require blankkids/thinkphp-ddd
```

使用方法
----

[](#使用方法)

### thinkex 命令

[](#thinkex-命令)

```
# 创建模块目录结构
php thinkex module:make 模块名

# 创建子接口组（无数据库）
php thinkex module:base 控制器名 模块名

# 创建子接口组（基于数据库）
php thinkex module:base-on 控制器名 模块名 数据库配置

# 创建模型（无数据库）
php thinkex module:model 控制器名 模块名

# 创建模型（基于数据库）
php thinkex module:model-on 控制器名 模块名 数据库配置

# 创建业务指令
php thinkex module:cmd 控制器名 模块名
php thinkex module:cmd-on 控制器名 模块名 数据库配置

# 创建消息队列
php thinkex module:job 控制器名 模块名
php thinkex module:job-on 控制器名 模块名 数据库配置

# 创建路由
php thinkex module:route 控制器名 模块名
```

示例模块代码 按数据表设计 生成 基本curd业务
-------------------------

[](#示例模块代码-按数据表设计-生成-基本curd业务)

```

根据示例模块结构, 自动生成需要的子功能接口,
且按照相应功能或数据表结构, 提供CURD基本接口, 并能满足一般的增删查改需要, 取消注释就能使用.

> 创建模块+目录结构
php thinkex module:make test

----------------------------------------

> 以下指令,适用于此参数结构:
[php,thinkex,module:*,'控制器名(数据表名)','模块名','可选生成curd函数(-,c,u,r,d,bc,bu,br,bd,cj,cmd)','指定数据库连接配置','指定数据表前缀']
-可选生成curd函数: "-"-空类, c-增,u-改,r-读(单行),d-删,bc-批量增,bu-批量改,br-批量读(列表),bd-批量删,cj-单增队列,cmd-指令, 按需填, 可传单个值.

> 创建模块-路由 -无数据库
php thinkex module:route TestChild test c,u,r,d,br

> 创建子接口组 -无数据库
php thinkex module:base TestChild test c,u,r,d,br

> 创建子接口组 -有数据库
php thinkex module:base-on TestChild test c,u,r,d,br database -

----------------------------------------

> 以下指令,适用于此参数结构:
[php,thinkex,module:*,'控制器名(数据表名)','模块名','指定数据库连接配置','指定数据表前缀']
-数据库连接配置: 不传值-默认database, 跨库需要另外指定配置名.
-指定数据表前缀: 传"-"-不指定, 不传值-用默认前缀, 传前缀-自定义前缀, 注意,跨库时,看情况需指定前缀.

> 新建-模型 -无数据库
php thinkex module:model TestChild test
> 新建-模型 -有数据库
php thinkex module:model-on TestChild test database -

> 更新-模型 过滤字段 -有数据库
php thinkex module:model-fields TestChild test database -
> 更新-转化器 过滤字段 -有数据库
php thinkex module:trans-fields TestChild test database -

> 创建模块-业务指令 -无数据库
php thinkex module:cmd TestChild test
> 创建模块-业务指令 -有数据库
php thinkex module:cmd-on TestChild test database -

> 创建模块-消息队列 -无数据库
php thinkex module:job TestChild test
> 创建模块-消息队列 -有数据库
php thinkex module:job-on TestChild test database -

```

### tool 命令

[](#tool-命令)

```
# 生成指定数据表结构文档
php tool table:md 表名

# 生成指定数据表结构文档（指定数据库）
php tool table:md 表名 数据库名

# 生成所有数据表结构文档
php tool table:md *

# 生成所有数据表结构文档（指定数据库）
php tool table:md * 数据库名
```

```
> 以下指令,适用于此参数结构:
[php,tool,table:*,'数据表名(全名)','指定数据库连接配置']

> 生成 指定数据表 结构
php tool table:md qj_test_childs

> 生成 指定数据表 结构 - 指定库
php tool table:md qj_test_childs database

> 生成 所有数据表 结构
php tool table:md *

> 生成 所有数据表 结构 - 指定库
 php tool table:md * database

```

许可证
---

[](#许可证)

Apache-2.0

###  Health Score

21

—

LowBetter than 19% of packages

Maintenance63

Regular maintenance activity

Popularity3

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity11

Early-stage or recently created project

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

### Community

Maintainers

![](https://www.gravatar.com/avatar/2b3120b684db1e2f1674ee62234fee914b7090e57f9aa9448faea676228e86a6?d=identicon)[blankkids](/maintainers/blankkids)

---

Top Contributors

[![blankkids](https://avatars.githubusercontent.com/u/31361988?v=4)](https://github.com/blankkids "blankkids (1 commits)")

### Embed Badge

![Health badge](/badges/blankkids-thinkphp-ddd/health.svg)

```
[![Health](https://phpackages.com/badges/blankkids-thinkphp-ddd/health.svg)](https://phpackages.com/packages/blankkids-thinkphp-ddd)
```

###  Alternatives

[mwhite/random-uagent

A library for generating random User Agents

2453.4k2](/packages/mwhite-random-uagent)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
