Swiftorial Logo
Home
Swift Lessons
Matchups
CodeSnaps
Tutorials
Career
Resources

Creating Custom Commands in Laravel

Introduction

Laravel provides a powerful command-line interface called Artisan. One of the most useful features of Artisan is the ability to create custom commands that can automate repetitive tasks. In this tutorial, we will explore how to create a custom Artisan command from start to finish.

Setting Up Your Laravel Project

Before we create a custom command, ensure you have a Laravel project set up. You can create a new Laravel project using Composer by running the following command:

composer create-project --prefer-dist laravel/laravel my-project

Replace my-project with your desired project name. Once the installation is complete, navigate to your project directory:

cd my-project

Creating a Custom Command

To create a custom command, you can use the Artisan command make:command. The basic syntax is as follows:

php artisan make:command MyCustomCommand

This command will create a new command class in the app/Console/Commands directory. You can replace MyCustomCommand with any name you prefer.

Understanding the Command Class

Open the newly created command class located at app/Console/Commands/MyCustomCommand.php. You'll notice that it extends the Command class and has several properties you can customize:

Key properties include:

  • $signature: Define the command's signature.
  • $description: A short description of what the command does.

Here’s an example of how to set these properties:

class MyCustomCommand extends Command
{
    protected $signature = 'custom:hello {name}';
    protected $description = 'Greet the user by name';

    public function handle()
    {
        $name = $this->argument('name');
        $this->info("Hello, $name!");
    }
}
                

Registering the Command

After creating your command, you need to register it in the app/Console/Kernel.php file. Locate the $commands array and add your custom command class to this array:

protected $commands = [
    Commands\MyCustomCommand::class,
];
                

Running Your Custom Command

Now that you have created and registered your custom command, you can run it using the Artisan CLI. Use the following command to execute your custom command:

php artisan custom:hello John

This command will output: Hello, John!

Conclusion

In this tutorial, we learned how to create a custom command in Laravel using Artisan. Custom commands can greatly enhance your productivity by automating tasks that you frequently perform. Experiment with creating different commands to suit your project's needs.