sterxa / laravel-ddd-helper
用于帮助使用领域驱动设计的Laravel应用程序的有用Artisan命令。
Requires
- php: ^7.4
- laravel/framework: ^8.0
- spatie/data-transfer-object: ^2.5
- spatie/enum: ^3.1
- spatie/laravel-model-states: ^1.9
- spatie/laravel-queueable-action: ^2.6
Requires (Dev)
- orchestra/testbench: ^6.0
- phpunit/phpunit: ^9.0
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)。有关更多信息,请参阅许可证文件。