sterxa/laravel-ddd-helper

用于帮助使用领域驱动设计的Laravel应用程序的有用Artisan命令。

1.2.2 2020-09-25 18:11 UTC

This package is auto-updated.

Last update: 2024-09-26 03:59:41 UTC


README

该项目最初是从https://github.com/signifly/laravel-domain-commands分叉的。

sterxa/laravel-ddd-helper包为您的Laravel应用程序添加了一些有用的Artisan命令。它假设您正在使用领域驱动设计方法。

它受到了Spatie的Brent在其这篇文章中提到的DDD方法的极大启发。

此外,它假设您有一个单独的命名空间用于您的领域。以下是一个从composer.json文件中的autoload部分的示例

{
    ...
    "autoload": {
        "psr-4": {
            "App\\" : "app/App/",
            "Domain\\" : "app/Domain/",
            "Support\\" : "app/Support/"
        },
       ...
    }
}

基本用法

该包附带了一些开箱即用的命令。

动作

使用domain:action命令生成新的Action

php artisan domain:action CreateUserAction -d User

注意:您可以使用-d|--domain选项指定动作的给定领域。如果您不指定领域,它将生成在默认命名空间内。您可以在配置文件中配置它。

数据传输对象

使用domain:dto命令生成新的数据传输对象类

php artisan domain:dto UserData -d User

枚举

使用domain:enum命令生成新的枚举类

php artisan domain:enum UserType -d User

事件

使用domain:event命令生成新的事件类

php artisan domain:event UserCreated -d User

模型

使用domain:model命令生成新的Eloquent模型类

php artisan domain:model User -d User

观察者

使用domain:observer命令生成新的观察者类

php artisan domain:observer UserObserver -d User

策略

使用domain:policy命令生成新的策略类

php artisan domain:policy UserPolicy -d User

规则

使用domain:rule命令生成新的规则类

php artian domain:rule CustomEmailRule -d User

安装

您可以通过composer安装此包

composer require sterxa/laravel-ddd-helper

该包将自动注册自己。

您可以选择使用以下命令发布配置文件:

php artisan vendor:publish --tag="ddd-helper-config"

测试

composer test

安全

如果您发现任何安全问题,请通过office@sterxa.com发送电子邮件,而不是使用问题跟踪器。

鸣谢

许可证

MIT许可证(MIT)。有关更多信息,请参阅许可证文件