zingle-com / laravel-modules
Adds Modules to Laravel.
Installs: 16 550
Dependents: 1
Suggesters: 0
Security: 0
Stars: 0
Watchers: 3
Forks: 0
Open Issues: 0
Type:laravel-package
Requires
- php: ~7.0|~7.1
Requires (Dev)
- escapestudios/symfony2-coding-standard: ^3.11
- illuminate/config: ^5.5
- illuminate/container: 5.1.x|5.2.x|5.3.x|5.4.x|5.5.x
- illuminate/support: ^5.5
- php-coveralls/php-coveralls: ^2.1
- phpunit/phpunit: ^8.5
This package is auto-updated.
Last update: 2024-10-29 04:53:27 UTC
README
Simple helpers for adding modular architecture to your Laravel project.
Overview
Modular architecture makes your application easier to understand and
scale. This package attempts to add support for modules with minimal
effort and greatest amount of flexibility. A Module
in this package
corresponds with a module grouping of code in your project.
Installation
Install the base package with composer.
$ composer install zingle-com/laravel-modules
Add service provider to your providers after the Illuminate providers, but before your project service providers.
// config.php // ... 'providers' => [ // ... Illuminate\Validation\ValidationServiceProvider::class, Illuminate\Session\SessionServiceProvider::class, Illuminate\Notifications\NotificationServiceProvider::class, /** * Vendors */ // ... ZingleCom\LaravelModules\ModuleServiceProvider::class, // ... /** * Project providers */ ],
Finally install the vendor assets:
$ php artisan vendor:publish --provider="ZingleCom\LaravelModules\ModuleServiceProvider::class"
Usage
After defining your modular structure, to create a new module simply
create add a new class that extends Module
to your base module
directory that corresponds with the name of the module. For example,
if you had a module named Auth
the base directory for which is
app/Modules/Auth
you would create the following class:
namespace App\Modules\Auth; use ZingleCom\LaravelModules\Module\Module; class AuthModule extends Module { }
Then add the new module class to config/modules.php
under the modules key like:
// modules.php // .. "modules" => [ App\Modules\Auth\AuthModule::class, ],