aammui / ddd
Laravel 的领域驱动架构生成工具。
此包的官方仓库似乎已消失,因此该包已被冻结。
v1.0.0
2021-03-21 11:39 UTC
Requires
- php: ^7.2|^8.0
Requires (Dev)
- orchestra/testbench: ^4.0|^5.0|^6.0
- phpunit/phpunit: ^8.0|^9.0
This package is auto-updated.
Last update: 2021-03-21 12:16:33 UTC
README
介绍
在这个架构中,我们将分离应用程序和领域层。默认情况下,应用程序层位于 'App\Application' 命名空间,领域位于 'App\Domain' 命名空间;此外,可以从配置文件中进行配置。
<?php return [ 'application' => 'App\Application', 'domain' => 'App\Domain', /** * | * | Base Controller Path * | */ 'controller_path' => 'App\Infrastructure\Controllers\Controller', ];
安装
这个工具应在开发阶段使用。因此,您可以将其作为开发依赖项安装。
composer require aammui/ddd --dev
创建控制器
php artisan ddd:controller LoginController auth
上面的控制器类可以从 web.php
调用,如下所示。
<?php use App\Application\Auth\LoginController; Route::get('login',[LoginController::class,'index']); Route::post('login',[LoginController::class,'store']);
创建表单请求
以下命令在应用程序领域创建 Laravel 的 FomRequest 类。即,在 app\Application\Auth\Requests\
目录中。表单请求是应用程序层的一部分,而不是核心业务层,因此应该存储在应用程序目录中。
php artisan ddd:request LoginRequest auth
创建模型
以下命令在 Account 领域创建 Transaction 模型。Transaction 模型位于 app\Domain\Account\Models\Transaction.php
文件中。领域模型是核心业务层的一部分,因此应该存储在领域目录中。
php artisan ddd:model Transaction Account
领域与应用程序
命令 | 应用程序 | 领域 | 描述 |
---|---|---|---|
php artisan ddd:request LoginRequest auth |
表单请求 | 创建名为 LoginRequest 的表单请求,位于命名空间 App\Application\Auth\Requests |
|
尚未实现。 | 规则 | ||
尚未实现。 | 响应类 | 请参阅以下文章。 灵活的响应对象 | |
php artisan ddd:controller LoginController auth |
控制器 | 创建名为 LoginController 的控制器,位于命名空间 App\Application\Auth\Controllers |
|
php artisan ddd:model Transaction Account |
模型 | ||
尚未实现。 | 作业 | ||
尚未实现。 | 操作 |