Download the PHP package kadevland/laravel-easy-modules without Composer
On this page you can find all versions of the php package kadevland/laravel-easy-modules. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download kadevland/laravel-easy-modules
More information about kadevland/laravel-easy-modules
Files in kadevland/laravel-easy-modules
Package laravel-easy-modules
Short Description Laravel module generator with extensive Artisan commands for rapid modular development. Customizable architecture patterns including Clean Architecture templates.
License MIT
Homepage https://github.com/kadevland/laravel-easy-modules
Informations about the package laravel-easy-modules
Laravel Easy Modules - Flexible Module Generator
Package Status: This package has been tested and works correctly for most use cases. However, some edge cases may require manual handling depending on your specific setup.
Laravel Easy Modules is a flexible Laravel package that enables you to organize your application using modular architecture. Generate organized, maintainable applications with automatic component registration and structured code separation. Clean Architecture templates are provided as sensible defaults, but fully customizable to your needs.
โจ Key Features
- ๐๏ธ Flexible Module Generation - Customizable architecture patterns with sensible defaults
- โก Extensive Artisan Commands - Complete toolkit for rapid modular development
- ๐ Auto-Discovery - Automatic module registration and loading
- ๐ฏ Fully Customizable - Adapt any folder structure and architectural pattern
- ๐ Developer Friendly - Simple commands with intelligent defaults
- ๐๏ธ Clean Architecture Ready - Pre-configured templates for Domain, Application, Infrastructure, and Presentation layers
- ๐ ๏ธ Development Toolkit - Optimized for development workflow with minimal production footprint
- ๐ Laravel 12 Ready - Full compatibility with Laravel 12's latest features
๐ Installation & Quick Start
Requirements
- Laravel 12+ - Built specifically for Laravel 12
- PHP 8.2+ - Required by Laravel 12
- Composer - For package management
Installation
Install via Composer:
Publish configuration:
Create your first module:
๐ What Gets Generated
When you run php artisan easymodules:new Blog
, you get a complete Clean Architecture structure by default, but this is fully customizable to match your preferred architecture pattern:
๐ Note: This structure is just the default template. You can completely customize the folder structure, paths, and architectural patterns through configuration. See Configuration Guide for details.
๐๏ธ Modular Architecture Benefits
- ๐ฏ Separation of Concerns: Each layer has specific responsibilities
- ๐ Testability: Easy to unit test business logic in isolation
- ๐ Scalability: Add features without affecting existing code
- ๐ง Maintainability: Clear structure for team collaboration
- ๐ Independence: Domain logic independent of frameworks and databases
๐ ๏ธ Commands & Generators
Laravel Easy Modules provides an extensive command toolkit for rapid development:
๐ Complete Command Reference Guide - Full documentation with examples
Quick Examples
Command Aliases
All commands support these prefixes for convenience:
easymodules:
(full)emodules:
(short)emodule:
(shortest)
๐ Laravel 12 Auto-Discovery
Laravel Easy Modules leverages Laravel 12's enhanced auto-discovery features for seamless integration:
โ Automatic Registration
When auto_discover = true
, newly created modules are automatically:
- Registered in
bootstrap/providers.php
using Laravel's official method - Loaded on application startup
- Available immediately without manual configuration
๐ง Manual Registration
You can also register modules manually by adding them directly to bootstrap/providers.php
:
๐๏ธ Manual Unregistration
To disable a module, simply remove or comment its ServiceProvider from bootstrap/providers.php
:
๐๏ธ Package Independence
Important: All generated code remains fully functional even if you remove Laravel Easy Modules package. Each module generated uses standard Laravel ServiceProvider patterns and can operate independently.
๐ List Discovered Modules
View all modules discovered by the auto-discovery system:
Example output:
โ๏ธ Configuration & Customization
Package Configuration
Customize module generation in config/easymodules.php
:
Module-Specific Configuration
Each module can have its own configuration for module-specific settings:
Customizable Stubs
Important: No stubs are provided by default - you create them according to your architectural needs using the make-stub
system.
๐งช Testing Configuration
PHPUnit Integration
Add to your phpunit.xml
:
Pest Framework Support
Add to your tests/Pest.php
:
โก Vite Integration (Laravel 12)
Laravel 12 uses enhanced Vite configuration. Update your vite.config.js
:
Required installation:
๐จ Tailwind CSS Configuration
Update your tailwind.config.js
for module support:
๐ Practical Examples
Blog Module with Rich Configuration
E-commerce Modular Setup
Each module maintains its own:
- Domain logic in isolated entities
- Database schema with dedicated migrations
- API endpoints with versioned resources
- Tests for reliable functionality
Multi-tenant Application
๐ Laravel 12 Compatibility
โ What's Fully Supported
- ServiceProvider Auto-Registration - Uses Laravel 12's official
addProviderToBootstrapFile
method - All Essential Laravel Commands - Full compatibility with Laravel's core Artisan commands within modules
- PHP 8.2+ - Takes advantage of modern PHP features and syntax
- Enhanced Vite - Works with Laravel 12's improved asset compilation
- Framework Features - Complete integration with Laravel 12's core functionality
๐ Built for Laravel 12
Laravel Easy Modules is designed specifically for Laravel 12 from the ground up - no migration needed, just clean modular development ready to use.
๐ ๏ธ Benefits of Modular Architecture
โ Separation of Concerns
- Domain : Pure business logic, framework-independent
- Application : Use cases and orchestration logic
- Infrastructure : Persistence, external services, and technical details
- Presentation : User interface, APIs, and external communication
โ Development Benefits
- Team Collaboration : Multiple developers can work on different modules
- Code Organization : Logical grouping by business functionality
- Reusability : Modules can be extracted as packages
- Testing : Isolated testing of business logic
โ Scalability & Maintenance
- Independent Deployment : Modules can evolve separately
- Feature Isolation : New features don't affect existing modules
- Easier Debugging : Clear boundaries help identify issues
- Legacy Migration : Gradual modernization of existing applications
๐ Complete Documentation
- ๐ Command Guide - Complete reference for all commands
- ๐ง Configuration Guide - Advanced customization and architectural patterns
- ๐๏ธ Architecture Templates - Future multi-pattern feature
๐ Alternative Solutions
If you're looking for modular Laravel development solutions, you might also consider:
nWidart/laravel-modules
A well-established and highly configurable module system for Laravel. Great choice if you prefer maximum flexibility and don't mind setting up your own structure from scratch.
EasyModules vs nWidart:
- EasyModules: Simple setup, structured defaults, future multi-pattern support, production-independent modules. EasyModules is a dev-tool only - no need to deploy it to production
- nWidart: Complete flexibility, manual configuration, established ecosystem
Both packages serve the modular development community well - choose based on whether you prefer structured defaults (EasyModules) or complete configurability (nWidart).
๐ญ Philosophy
We created EasyModules because modular development should be simple, fast, and completely independent - remove EasyModules anytime, your code keeps running.
EasyModules believes in empowering developers without creating dependencies. We're here to help you design and scaffold beautiful, maintainable modular architectures using Laravel standards - then we disappear.
Configuration is simple by design. A single config file, clear folder structures, and intelligent defaults get you productive in minutes. No complex setup, no scattered configuration files, no learning curve.
Generated code is entirely yours to modify. EasyModules doesn't check, validate, or enforce anything after generation. Refactor freely, change structures, adapt to your needs - we're here to help, not to impose.
Generated modules are entirely yours. Built with standard Laravel patterns. No vendor lock-in - you choose how to manage your dependencies. Just clean, organized code that lives and breathes Laravel.
"We help you build it right, then get out of your way."
๐ค Contributing
Contributions are welcome! Please see contributing guide.
๐ Changelog
Please see CHANGELOG for more information on recent changes.
๐ Security
For security issues, please email [email protected].
๐ License
Open-source package under MIT license.
๐จโ๐ป Credits
- Kadevland - Creator and maintainer
- Contributors - Thank you for your contributions!
All versions of laravel-easy-modules with dependencies
illuminate/support Version ^12.0
illuminate/console Version ^12.0
illuminate/filesystem Version ^12.0