LaravelPackages.net
Acme Inc.
Toggle sidebar
torann/modules

Basic module implantation for Laravel

110
0
0.1.1
About torann/modules

torann/modules is a Laravel package for basic module implantation for laravel. It currently has 0 GitHub stars and 110 downloads on Packagist (latest version 0.1.1). Install it with composer require torann/modules. Discover more Laravel packages by torann or browse all Laravel packages to compare alternatives.

Last updated

Modules

Latest Stable Version Total Downloads

Basic module implantation for Laravel.

Installation

Composer

From the command line run:

$ composer require torann/modules

The Service Provider

Open up config/app.php and find the providers key.

'providers' => [

    \Torann\Modules\ModulesServiceProvider::class,

]

Publish the configurations

Run this on the command line from the root of your project:

artisan vendor:publish --provider="Torann\Modules\ModulesServiceProvider"

The configuration file is stored in /config/modules.php file and is documented inline. Please note this step is required, when adding a new module it updates this file with it's settings. Along with the configuration file, the sample stubs files are published to the /resources/stubs/modules directory. These are used to generate new modules.

Integrating

To support database factories and seeders, along with routing you will need to do a few more things:

Routing

In /app/Providers/RouteServiceProvider.php at the end of map function add

modules()->loadRoutes($this->app['router'], 'api');
modules()->loadRoutes($this->app['router'], 'web');

Database

Seeding

In your default seeder /database/seeds/DatabaseSeeder at this to the end of run method add:

modules()->seed($this);
Factories

In /database/factories/UserFactory.php (or /database/factories/ModelFactory.php) add at the end of file:

modules()->loadFactories($factory);

Commands

module:make

This command creates new modules. You can create one module or multiple modules at once.

Example usage:

artisan module:make products orders

module:files

Allow to create files in module that already exists.

Example usage:

artisan module:make products camera radio

module:migration

Creates migration file in given module

Example usage:

artisan module:migration products create_products_table

You can also use optional --type and --table options to set table and type of migration in order to create migration with template for given type, for example:

artisan module:migration products create_camera_table --table=cameras --type=create

This will create migration that is of type create - so in up method there will be creating cameras table and in down method deleting cameras table

If the application supports multi-tenancy, the --tenant option can be used to store migration file in the tenant subdirectory of the module migration directory.

module:cache

Create a module cache file for faster module registration.

Example usage:

artisan module:cache

module:clear

Remove the module cache file.

Example usage:

artisan module:clear
Comments