Skip to content

🍰 Register shortcuts to execute multiple artisan commands

License

Notifications You must be signed in to change notification settings

svenluijten/artisan-shortcuts

Repository files navigation

artisan-shortcuts

Laravel Artisan Shortcuts

Latest Version on Packagist Total Downloads Software License Build Status StyleCI

Have you ever executed 2 or 3 artisan commands over, and over, and over in your Laravel projects? Me too! That's what prompted this package. With it, you can define "shortcuts" to bundle up those commonly used commands into short, memorable names (or long, convoluted ones, that's up to you!).

Installation

You'll have to follow a couple of simple steps to install this package.

Downloading

Via composer:

$ composer require sven/artisan-shortcuts

Or add the package to your dependencies in composer.json and run composer update on the command line to download the package:

{
    "require": {
        "sven/artisan-shortcuts": "^1.0"
    }
}

Registering the service provider

If you're not using auto-discovery, register Sven\ArtisanShortcuts\ServiceProvider::class in your config/app.php file.

Publishing the configuration file

To publish this package's configuration file, execute the following command and pick Sven\ArtisanShortcuts\ServiceProvider from the list:

$ php artisan vendor:publish

Usage

After publishing the configuration file, you can define your shortcuts in config/shortcuts.php. Knowing that, creating your own artisan shortcuts is fairly straightforward. Take a look at the following configuration:

return [
    'custom-command' => [
        FirstCommand::class => [
            '--option' => 'value',
        ],
        SecondCommand::class,
    ],
];

Running php artisan custom-command will execute FirstCommand with the option --option=value, and SecondCommand without any arguments or options.

Something I use this for all the time is Barry van den Heuvel's laravel-ide-helper commands:

return [
    'ide' => [
        GeneratorCommand::class,
        ModelsCommand::class => ['--nowrite' => true],
        MetaCommand::class,
    ],
];

Instead of using the FQCN for the command classes, you can also use the command names:

return [
    'clear' => [
        'cache:clear',
        'config:clear',
        'view:clear',
    ],
];

Supported versions

Look at the table below to find out what versions of Laravel are supported on what version of this package:

Laravel Artisan Shortcuts
5.5 - 8.x ^1.0

Contributing

All contributions (pull requests, issues and feature requests) are welcome. Make sure to read through the CONTRIBUTING.md first, though. See the contributors page for all contributors.

License

sven/artisan-shortcuts is licensed under the MIT License (MIT). Please see the license file for more information.