alibori/laravel-ddd-domain-resources
最新稳定版本:v1.0.1
Composer 安装命令:
composer require alibori/laravel-ddd-domain-resources
包简介
Package to generate domain resources for a Laravel DDD application.
README 文档
README
Package to generate domain resources for a Laravel DDD application.
Compatible with Laravel 9.x and 10.x.
Keeping in mind that DDD architecture in a Laravel application has a lot of different approaches, this package is intended to be used as a vertical slice of a DDD implementation. Also, it has some basic stub files that can be customized to fit your needs.
Installation
You can install the package via composer:
composer require alibori/laravel-ddd-domain-resources --dev
You can publish the config file with:
php artisan vendor:publish --tag="ddd-domain-resources-config"
This is the contents of the published config file:
<?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', * ], */ ] ];
Optionally, you can publish the stubs using
php artisan vendor:publish --tag="ddd-domain-resources-stubs"
Usage
Generate a domain directory structure
Once the package's config file is published and filled, you can generate a domain directory structure with the following command:
php artisan domain:generate user --scaffold
This will generate the following directory structure:
├── app
│ └── Domains
│ └── User
│ ├── Application
│ ├── Domain
│ │ ├── Contracts
│ │ ├── Events
│ │ ├── Exceptions
│ │ ├── ValueObjects
│ ├── Infrastructure
│ │ ├── Repositories
Generate a domain resource
In base of the previous directory structure, you can generate a domain resource file with the following command:
php artisan domain:generate user {file-type}
Where {file-type} can be one of the following:
use_casecontracteventexceptionvalue_objectrepositorycontroller
For example, to generate a UseCase file, you can run the following command:
php artisan domain:generate user use_case
When you run this command, you will be prompted to enter the name of the resource. For example, if you want to generate a CreateUser use case, you can enter CreateUser as the resource name.
Testing
composer test
Changelog
Please see CHANGELOG for more information on what has changed recently.
Contributing
Please see CONTRIBUTING for details.
Security Vulnerabilities
Please review our security policy on how to report security vulnerabilities.
Credits
License
The MIT License (MIT). Please see License File for more information.
统计信息
- 总下载量: 42
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 11
- 点击次数: 0
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2023-04-21