devcortes/laravel-clean-architecture
最新稳定版本:v1.0.0
Composer 安装命令:
composer require devcortes/laravel-clean-architecture
包简介
A Laravel package to scaffold hexagonal architecture modules
README 文档
README
A Laravel package to scaffold hexagonal architecture modules with a single Artisan command.
Installation
composer require vendor/laravel-hexagonal-maker --dev
The package auto-discovers itself via Laravel's package auto-discovery.
Usage
php artisan make:module NombreModulo
Example
php artisan make:module Product
This will generate the following structure in app/Src/Product/:
app/Src/Product/
├── Domain/
│ ├── Entities/Product.php
│ └── ValueObjects/ProductId.php
├── Application/
│ └── UseCases/CreateProductUseCase.php
└── Infrastructure/
├── Persistence/
│ ├── Models/ProductModel.php
│ ├── Repositories/ProductRepositoryInterface.php
│ └── Repositories/MongoProductRepository.php
└── Http/
├── Controllers/ProductController.php
└── Requests/CreateProductRequest.php
Autoloading
Add the App\Src namespace to your composer.json:
"autoload": { "psr-4": { "App\\": "app/", "App\\Src\\": "app/Src/" } }
Then run:
composer dump-autoload
Binding the Repository
After generating the module, bind the repository interface to its implementation in a Service Provider:
use App\Src\Product\Infrastructure\Persistence\Repositories\ProductRepositoryInterface; use App\Src\Product\Infrastructure\Persistence\Repositories\MongoProductRepository; $this->app->bind(ProductRepositoryInterface::class, MongoProductRepository::class);
Publishing Stubs
You can publish the stubs to customize them:
php artisan vendor:publish --tag=hexagonal-stubs
Stubs will be published to stubs/hexagonal/.
Requirements
- PHP 8.1+
- Laravel 10 or 11
mongodb/laravel-mongodb(for MongoDB models)
License
MIT
统计信息
- 总下载量: 13
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 1
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2026-04-21