mazfreelance/laravel-command-generator

This is a simple package that includes some of custom Laravel artisan command into Laravel/Lumen.

v2.2.0 2023-07-25 04:24 UTC

This package is auto-updated.

Last update: 2024-10-25 07:42:09 UTC


README

License StyleCI Latest Version Total Downloads Laravel Framework

Laravel Command Generator

This is a simple package that includes some of custom Laravel artisan command into Laravel/Lumen.

Installation

Note: This repository now follows the Laravel/Lumen framework versioning. Use the appropriate version of this package for your Laravel/Lumen application.

You can install the package via composer:

composer require mazfreelance/laravel-command-generator

PHP7.x or below

composer require mazfreelance/laravel-command-generator=^1.0.0

Configuration

Available Commands

make:action         Create a new Action class
make:dto            Create a new Data Transfer Object class

Default Settings

The default namespace for all command are App\Actions\ and each name expects the filter classname to follow the {$Name}Action naming convention. Here is an example of action and data transfer objects based on the default naming convention.

Laravel

With Configuration File (Optional)

Registering the service provider will give you access to the php artisan model:action {name} command as well as allow you to publish the configuration file. Registering the service provider is not required and only needed if you want to change the default namespace or use the artisan command

After installing the Custom Command library, register the Mazfreelance\LaravelCommandGenerator\ServiceProvider::class in your config/app.php configuration file:

'providers' => [
    // Other service providers...

    Mazfreelance\LaravelCommandGenerator\ServiceProvider::class,
],

Copy the package config to your local config with the publish command:

php artisan vendor:publish --provider="Mazfreelance\LaravelCommandGenerator\ServiceProvider::class"

If install version 2.1.0 (Lumen can use this part if install mazfreelance/lumen-vendor-publish),

Optionally, You can publish the config file with:

# If install version 2.1.0
# Optionally, You can publish the config file with:
php artisan vendor:publish --provider="Spatie\LaravelData\LaravelDataServiceProvider" --tag="data-config"

In the config/custom-command.php config file. Set the namespace your model filters will reside in:

'namespace' => [
    'action' => 'App\\Actions\\',
    'dto' => 'App\\DTO\\',
]

Lumen

Register The Service Provider

This is only required if you want to use the php artisan make:action|dto command. #Avaiable Command

In bootstrap/app.php:

$app->register(Mazfreelance\LaravelCommandGenerator\ServiceProvider::class);
// If install version 2.1.0,
$app->register(Spatie\LaravelData\LaravelDataServiceProvider::class);
Change The Default Namespace

In bootstrap/app.php:

config(['custom-command.action.namespace' => "App\\Actions\\"]);
config(['custom-command.dto.namespace' => "App\\DTO\\"]);

Change log

Please see the changelog for more information on what has changed recently.

Other command for Lumen

Credits

License

MIT. Please see the license file for more information.