2017 © Pedro Peláez
 

library module_manager

image

2dojo/module_manager

  • Thursday, May 3, 2018
  • by andriskaaz
  • Repository
  • 1 Watchers
  • 0 Stars
  • 2 Installations
  • PHP
  • 0 Dependents
  • 1 Suggesters
  • 0 Forks
  • 1 Open issues
  • 5 Versions
  • 0 % Grown

The README.md

Module manager

Latest Stable Version Build Status codecov Scrutinizer Code Quality License, (*1)

Table of contents

Installation

The Module Manager can be installed via composer:, (*2)

composer require 2dojo/module_manager

This package uses Laravel auto-discovery so the ServiceProvider and the Facade automatically register itself., (*3)

After you installed this package you have to call the ModuleManager facade initializeModules method in you AppServiceProvider boot method., (*4)

<?php

namespace App\Providers;

...

class AppServiceProvider extends ServiceProvider
{
    public function boot()
    {
        ModuleManager::initializeModules();
    }
}

If you want to store the module options in database you need to publish the migrations and config, (*5)

php artisan vendor:publish --provider="TwoDojo\ModuleManager\ModuleManagerServiceProvider"

Run the migrations, (*6)

php artisan migrate

And finally change the registry entry in the configuration to database, (*7)

// config/module_manager.php
'registry' => 'database'

Module Development

You can create your modules in a separated composer package or in your laravel project for example in the app/Modules directory., (*8)

<?php

namespace App\Modules;

use TwoDojo\Module\AbstractModule;

class ExampleModule extends AbstractModule
{
    /**
    * @var string The module display name
    */
    protected $name = 'ExampleModule';
}

After that you have to register the module in the ModuleManager for example in your AppServiceProvider register method or if you create a separated composer package you can register it in your package ServiceProvider boot method., (*9)

<?php

namespace App\Providers;

...

class PackageServiceProvider extends ServiceProvider
{
    public function boot()
    {
        ModuleManager::registerModule(ExampleModule::class);

        ...
    }
}

Module Manager Methods

registerModule

/**
* Register a module to the module manager.
*
* @param string $moduleClass The module class
* @return bool
*/
public function registerModule(string $moduleClass) : bool

initializeModules

/**
* Initialize the registered modules
*/
public function initializeModules()

enableModule

/**
 * Enable a module
 *
 * @param $uniqueName The module unique name
 * @return bool
 */
public function enableModule($uniqueName) : bool

disableModule

/**
 * Disable a module
 *
 * @param string $uniqueName The module unique name
 * @return bool
 */
public function disableModule($uniqueName) : bool

The Versions

03/05 2018

dev-master

9999999-dev

  Sources   Download

MIT

The Requires

 

The Development Requires

by Avatar andriskaaz

laravel module module manager

03/05 2018

dev-codeclimate

dev-codeclimate

  Sources   Download

MIT

The Requires

 

The Development Requires

by Avatar andriskaaz

laravel module module manager

05/10 2017

0.0.2

0.0.2.0

  Sources   Download

MIT

The Requires

 

The Development Requires

by Avatar andriskaaz

laravel module module manager

05/10 2017

dev-develop

dev-develop

  Sources   Download

MIT

The Requires

 

The Development Requires

by Avatar andriskaaz

laravel module module manager

04/10 2017

0.0.1

0.0.1.0

  Sources   Download

MIT

The Requires

 

The Development Requires

by Avatar andriskaaz

laravel module module manager