zingle-com/laravel-modules

Adds Modules to Laravel.

Installs: 15 353

Dependents: 1

Suggesters: 0

Security: 0

Stars: 0

Watchers: 3

Forks: 0

Open Issues: 0

Type:laravel-package

1.0.0 2020-01-31 04:16 UTC

This package is auto-updated.

Last update: 2024-03-29 03:32:15 UTC


README

Build Status Coverage Status

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,
	],