alibori / laravel-ddd-domain-resources
用于生成 Laravel DDD 应用程序领域资源的包。
v1.0.1
2023-05-16 16:31 UTC
Requires
- php: ^8.1
- spatie/laravel-package-tools: ^1.14.0
Requires (Dev)
- laravel/pint: ^1.6
- nunomaduro/collision: ^6.0
- nunomaduro/larastan: ^2.0.1
- orchestra/testbench: ^7.22
- pestphp/pest: ^1.22
- pestphp/pest-plugin-laravel: ^1.4
- phpstan/extension-installer: ^1.1
- phpstan/phpstan-deprecation-rules: ^1.0
- phpstan/phpstan-phpunit: ^1.0
README
用于生成 Laravel DDD 应用程序领域资源的包。
兼容 Laravel 9.x 和 10.x。
考虑到 Laravel 应用程序中的 DDD 架构有多种不同的方法,此包旨在用作 DDD 实现的垂直切片。此外,它还有一些基本的占位符文件,可以根据您的需求进行自定义。
安装
您可以通过 composer 安装此包
composer require alibori/laravel-ddd-domain-resources --dev
您可以使用以下命令发布配置文件
php artisan vendor:publish --tag="ddd-domain-resources-config"
这是已发布配置文件的内容
<?php declare(strict_types=1); // config for Alibori/LaravelDddDomainResources package return [ /** * Here goes the path to your DDD Domains folder. */ 'domains_path' => 'app\\Domains', /** * Here goes all your desired DDD Domain Resources configuration. */ 'domains' => [ /** * 'user' => [ * 'name' => 'User', * 'namespace' => 'App\\Domains\\User', * ], */ ] ];
可选地,您可以使用以下命令发布占位符
php artisan vendor:publish --tag="ddd-domain-resources-stubs"
使用方法
生成领域目录结构
一旦发布并填写了包的配置文件,您可以使用以下命令生成领域目录结构
php artisan domain:generate user --scaffold
这将生成以下目录结构
├── app
│ └── Domains
│ └── User
│ ├── Application
│ ├── Domain
│ │ ├── Contracts
│ │ ├── Events
│ │ ├── Exceptions
│ │ ├── ValueObjects
│ ├── Infrastructure
│ │ ├── Repositories
生成领域资源
基于前面的目录结构,您可以使用以下命令生成领域资源文件
php artisan domain:generate user {file-type}
{file-type}
可以是以下之一
use_case
contract
event
exception
value_object
repository
controller
例如,要生成 UseCase
文件,您可以运行以下命令
php artisan domain:generate user use_case
运行此命令时,您将被提示输入资源名称。例如,如果您想生成 CreateUser
用例,您可以输入 CreateUser
作为资源名称。
测试
composer test
变更日志
有关最近更改的更多信息,请参阅 变更日志
贡献
有关详细信息,请参阅 贡献指南
安全漏洞
有关如何报告安全漏洞的详细信息,请参阅 我们的安全策略
致谢
许可协议
MIT 许可协议(MIT)。有关更多信息,请参阅 许可文件