ammardaana/laravel-domain-driven-design
Composer 安装命令:
composer require ammardaana/laravel-domain-driven-design
包简介
Generate laravel Domain driven design (monolith) structure
README 文档
README
ammardaana/laravel-domain-driven-design provides command interfaces and handlers to organize your Laravel applications using Domain-Driven Design (DDD) and a modular architecture.
Installation
composer require ammardaana/laravel-domain-driven-design
Features
- ✅ Command & CommandHandler interfaces
- ✅ Clear separation of concerns in your domain layer
- ✅ Works seamlessly with Laravel service container & command bus
- ✅ Designed for modular and DDD-based applications
- ✅ Lightweight and framework-friendly
Available Commands
This package provides the following artisan commands to generate domain-driven components:
Domain Management
php artisan make:domain {--name=}
Core Components
# Generate a Service class php artisan make:service {--domain=} {--name=} # Generate an Action class php artisan make:action {--domain=} {--name=} # Generate a DTO (Data Transfer Object) class php artisan make:dto {--domain=} {--name=} # Generate an Enum class php artisan make:enum {--domain=} {--name=} # Generate a Model class php artisan make:model {--domain=} {--name=} {--with-resources=}
HTTP Layer
# Generate a Controller class php artisan make:controller {--domain=} {--name=} # Generate a Request class php artisan make:request {--domain=} {--name=} # Generate a Resource class php artisan make:resource {--domain=} {--name=} # Generate a Middleware class php artisan make:middleware {--domain=} {--name=}
Business Logic & Validation
# Generate a Rule class php artisan make:rule {--domain=} {--name=} # Generate a Facade class php artisan make:facade {--domain=} {--name=}
Events & Jobs
# Generate an Event class php artisan make:event {--domain=} {--name=} # Generate a Listener class php artisan make:listener {--domain=} {--name=} # Generate a Console Job class php artisan make:console-job {--domain=} {--name=}
All commands support optional --domain and --name flags. If not provided, you'll be prompted interactively.
Usage
1. Create a Command
class GenerateActionCommand extends Command { public function __construct(Filesystem $files) { parent::__construct(); $this->files = $files; $this->namespacePostfix = 'Actions'; $this->type = 'Action'; } }
Output Structure
app/
└── Domain/
├── Authentication/
│ ├── Actions/
│ │ └── LoginAction.php
│ ├── Enums/
│ │ └── UserStatusEnum.php
│ └── Http/
│ └── Controllers
│ └── Requests
│ └── Resources
│ └── Models
│ └── Services
|
└── PurchaseFlow/
Integration Ideas
- Use with Laravel Bus for async handling
- Plug into CQRS setups for separation of reads & writes
- Add middlewares for validation, logging, or transactions
License
This package is released under the MIT License.
ammardaana/laravel-domain-driven-design 适用场景与选型建议
ammardaana/laravel-domain-driven-design 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 1.76k 次下载、GitHub Stars 达 10, 最近一次更新时间为 2025 年 09 月 14 日, 在 PHP 生态内属于活跃度较高的组件。
它主要适用于以下技术方向: 「ddd」 「laravel-modular」 「domain-driven-design」 「ammardaana」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。
我们在过去多个企业项目中使用过 ammardaana/laravel-domain-driven-design 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 ammardaana/laravel-domain-driven-design 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
与 ammardaana/laravel-domain-driven-design 相关的其它包
同方向 / 同关键字的高下载量 PHP Composer 包推荐,方便对比选型:
Runn Me! Value Objects Library
Interfaces, Traits and Nominal Classes used by Domain Entities Implementing Domain Events
Implementation of the transactional outbox pattern on top of rekalogika/domain-event
Build a domain-oriented application on Laravel Framework
Symfony bundle for broadway/broadway.
Domain-oriented authorization core for Laravel Passport, providing structured scope and permission modeling without UI or OAuth flow implementation.
统计信息
- 总下载量: 1.76k
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 11
- 点击次数: 12
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2025-09-14