How to Create Artisan Command in Laravel with Arguments Support?

Websolutionstuff | Oct-06-2023 | Categories : Laravel

Laravel is a comprehensive framework that provides an extensive range of artisan commands, enabling the automation of diverse tasks such as creating controllers, seeding the databases, and starting servers. However, when developing custom solutions, you may have unique requirements that needs the creation of custom commands. Laravel doesn’t limit you to its commands, you can easily create your own according to your needs.

Here's a guide outlining the steps for creating a new artisan command:

Create Command

You can create your own command using the default Laravel artisan command:

php artisan make:command AppointmentReminder


Understanding Command

There are 2 main parts in the console command:

  1. Signature property
  2. Handle() method

You can describe the command name in the signature property ($). For example, you are naming the command “send:reminder”, then you have to run the entire command as mentioned below:

php artisan send:reminder


Define Arguments

You can easily define optional and required arguments as following:

protected $signature = 'send:reminder {appointmentID}';

(Note: For optional argument, you have to define ? in last 'mail:send {appointmentID?}')

Fetch Arguments

After execution of the command and passing of the argument, you have to fetch arguments. Use this default function for that:

public function handle(): void
     $appointmentID = $this->argument('appointmeentID');     


Execute Commands from Code

After you are done with fetching the arguments, you need to execute commands from the code to check accuracy. Run the following command:

Route::post('/send-reminders', function (string $user) {        
     Artisan::call('send:reminder', [             
          'appointmentID' => 123         

     // ...     



Becoming proficient at creating custom artisan commands in Laravel is like having a helpful hand in your web development efforts. It lets you simplify repetitive tasks, work more efficiently, and maintain code elegance.

Laravel's artisan console lets you create custom commands tailored to your project's unique needs. This not only streamlines your work but also adds valuable functionality to your application.

Remember, the more you practice, the better you'll get. So, don't be afraid to experiment and fine-tune your commands. By unlocking the full potential of artisan commands, you'll not only be coding but also sculpting a more efficient and dynamic development experience. So, go ahead, start creating, commanding, and achieving greatness in your Laravel projects!


You might also like:

Recommended Post
Featured Post
Bootstrap Daterangepicker Example
Bootstrap Daterangepicker Exam...

In this small tutorial i will show you how to implement bootstrap daterangepicker example, bootstrap date rang...

Read More


How to Convert Datetime into Milliseconds in PHP
How to Convert Datetime into M...

Converting DateTime into milliseconds in PHP can be useful for various applications, such as timestamping events or meas...

Read More


How To Count Days Excluding Weekends And Holidays In Laravel 9
How To Count Days Excluding We...

In this article, we will see how to count days excluding weekends and holidays in laravel 9. Here, we will learn to...

Read More


How To Add Date Range Picker In Angular 15 Material
How To Add Date Range Picker I...

In this tutorial, I will guide you through the process of adding a date range picker component to your Angular 15 applic...

Read More