mazfreelance / laravel-command-generator
This is a simple package that includes some of custom Laravel artisan command into Laravel/Lumen.
Requires
- php: ^8.0
- illuminate/config: ^9.0|^10.0
- illuminate/console: ^6.0|^7.0|^8.0|^9.0|^10.0
- illuminate/filesystem: ^9.0|^10.0
- illuminate/support: ^9.0|^10.0
- spatie/laravel-data: ^2.1
Requires (Dev)
- mockery/mockery: ^1.3
- phpunit/phpunit: ^8
This package is auto-updated.
Last update: 2024-10-25 07:42:09 UTC
README
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.