GitHub - InterNACHI/modularize: Add support for `internachi/modular` to existing packages

Build Status Latest Stable Release MIT Licensed

Traits for package authors to add internachi/modular support to their Laravel commands.

Installation

composer require internachi/modularize

Usage

Add the Modularize trait to your package commands:

use Illuminate\Console\Command;
use InterNACHI\Modularize\Support\Modularize;

class SomeCommand extends Command
{
    use Modularize;

    public function handle()
    {
        if ($module = $this->module()) {
            // Command was called with --module, $module is a ModuleConfig class
            // with name, base path, namespaces, and helper methods.
        }
    }
}

If you're using Laravel file generator commands, add the ModularizeGeneratorCommand trait:

use Illuminate\Console\GeneratorCommand;
use InterNACHI\Modularize\Support\ModularizeGeneratorCommand;

class MakeWidget extends GeneratorCommand
{
    use ModularizeGeneratorCommand;

    // ...
}

This adds a --module option to your command. When used, generated files are placed in the module directory with correct namespacing.