signifly/laravel-domain-commands

Laravel 应用程序使用的 Artisan 命令,利用领域驱动设计。

v1.0.0 2023-11-21 13:55 UTC

This package is auto-updated.

Last update: 2024-09-21 16:13:38 UTC


README

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

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

此外,它假设您有一个独立的命名空间用于您的领域。请参考以下 composer.json 文件中自动加载部分的示例:

{
    "autoload": {
        "psr-4": {
            "App\\" : "app/App/",
            "Domain\\" : "app/Domain/",
            "Support\\" : "app/Support/"
        },
        "classmap": [
            "database"
        ],
        "files": [
            "app/helpers.php"
        ]
    }
}

基本用法

该包自带一些命令。

操作

使用 domain:action 命令生成新的操作

php artisan domain:action CreateUserAction -d User

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

数据传输对象 (DTO)

使用 domain:dto 命令生成新的 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 signifly/laravel-domain-commands

该包将自动注册自己。

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

php artisan vendor:publish --tag="domain-commands-config"

测试

composer test

安全性

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

鸣谢

许可

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