octopy / l3d
Laravel Domain Design Pattern
Requires
- php: ^8.4
- laravel/framework: ^12.0
Requires (Dev)
- octopy/debugify: dev-main
- orchestra/testbench: ^10.2
- symfony/var-dumper: ^7.2
This package is auto-updated.
Last update: 2025-05-19 18:06:14 UTC
README
Welcome to L3D β an elegant and modular solution for structuring your Laravel applications using Domain-Driven Design (DDD) principles. π
Why Choose L3D?
L3D helps you:
- π Organize your code in a modular, scalable way
- π― Separate business logic into well-defined domains
- β‘ Enhance application maintainability and scalability
- π Make code easier to navigate and understand
- π οΈ Embrace clean architecture principles with ease
Automated Magic! π With L3D, you donβt need to manually:
- β Register service providers
- β Configure migration paths
- β Set up domain-specific routes
- β Define factory locations
and more...
All of this is automatically handled behind the scenes. πͺ
Compatibility
- PHP 8.4+
- Laravel 12.0+
Installation
1. Install via Composer:
composer require octopy/l3d
2. Register domain paths manually (Optional)
By default, L3D will automatically discover domains inside the default directory. If you prefer to store your domains elsewhere, you can configure the location like this:
public function register() { l3d()->register([ 'App\\Domain\\' => app_path('Domain') ]); }
Production Optimization
For maximum performance in production, enable domain caching:
php artisan l3d:cache
Need to clear the cache? Use:
php artisan l3d:clear
Contributing
We greatly appreciate contributions from the community! Feel free to submit pull requests or report issues if you find bugs or have suggestions for improvements.
Security
If you discover any security related issues, please email bug@octopy.dev instead of using the issue tracker.
Credits
License
The MIT License (MIT). Please see License File for more information.