Download the PHP package hitech/ddd-modular-toolkit without Composer
On this page you can find all versions of the php package hitech/ddd-modular-toolkit. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download hitech/ddd-modular-toolkit
More information about hitech/ddd-modular-toolkit
Files in hitech/ddd-modular-toolkit
Package ddd-modular-toolkit
Short Description A Laravel DDD Modular Toolkit for feature-based architecture.
License MIT
Informations about the package ddd-modular-toolkit
🛠️ Toolkit to Generate DDD Module Files
This package provides custom toolkit to help you generate files based on Domain-Driven Design (DDD) architecture.
📦 Installation
To install the package, run the following command in your Laravel project:
Publish Configuration
⚙️ Configuration Options
The ddd.php
configuration file allows you to customize various aspects of the DDD Modular Toolkit. Below is a summary of the available options:
Option | Description | Default Value |
---|---|---|
blade.is_active |
Enables or disables Blade templating for modules. | true |
blade.path |
Defines the custom path for Blade views within modules. | Blades |
react.is_active |
Enables or disables React templating for modules (coming soon). | true |
react.path |
Defines the custom path for React views within modules. | Views |
middleware.auth |
Applies authentication middleware to module routes. | false |
middleware.api |
Applies API middleware to module routes. | false |
📁 Module Folder Structure (DDD Style)
The php artisan make:modulefiles {ModuleName}
command will generate a modular structure based on Domain-Driven Design (DDD) principles. Here's how the generated folder structure looks:
Each folder serves a clear role in enforcing separation of concerns, maintainability, and scalability across your Laravel application.
1. Generate Module Files
Description: Generate DDD-style modular files in the Modules/{name}
directory.
Options:
--A|--all
: Generate all components (default)--D|--data
: Generate data-related files (should install laravel-data)--Y|--dto
: Generate DTO (Data Transfer Object)--M|--migration
: Generate migration file--O|--model
: Generate model--R|--repository
: Generate repository--S|--service
: Generate service--C|--controller
: Generate controller--Q|--request
: Generate request--E|--resource
: Generate API resource--T|--route
: Generate route file--X|--seeder
: Generate database seeder
Usage examples:
2. Generate Modify Migration
Description: Create a new migration file for modifying an existing table within a specific module.
Options:
--add-column=
or--ac=
: Add new column--rename-column=
or--rc=
: Rename existing column--drop-column=
or--dc=
: Drop column--modify-column=
or--mc=
: Modify existing column
Usage examples:
📋 Requirements
- PHP ^8.1
- Laravel ^12.19
- Illuminate Support ^12.19
- Illuminate Console ^12.19
- Illuminate Database ^12.19
🤝 Contributing
Contributions are highly welcome! Please:
- Fork this repository
- Create your feature branch (
git checkout -b feature/amazing-feature
) - Commit your changes (
git commit -m 'Add amazing feature'
) - Push to the branch (
git push origin feature/amazing-feature
) - Open a Pull Request
📝 License
This project is licensed under the MIT License.
👨💻 Author
dhank77
- Email: [email protected]
🙏 Acknowledgments
- Laravel Community
- All contributors who have helped