signifly / laravel-domain-commands
Laravel 应用程序使用的 Artisan 命令,利用领域驱动设计。
v1.0.0
2023-11-21 13:55 UTC
Requires
- php: ^7.2|^8.0
- laravel/framework: ^6.0|^7.0|^8.0|^9.0|^10.0
Requires (Dev)
- orchestra/testbench: ^4.0|^5.0|^6.0|^7.0|^8.0
- phpunit/phpunit: ^7.0|^8.0|^9.0|^10.0
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)。有关更多信息,请参阅 许可证文件。