aammui/ddd

Laravel 的领域驱动架构生成工具。

此包的官方仓库似乎已消失,因此该包已被冻结。

v1.0.0 2021-03-21 11:39 UTC

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 模型
尚未实现。 作业
尚未实现。 操作