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
How to Create a Livewire Image Upload in Laravel 10?
How to Create a Livewire Image...

Livewire has revolutionized the way developers build interactive web applications with its real-time capabilities. And w...

Read More


Jquery Append And Prepend Example
Jquery Append And Prepend Exam...

In this article I will give you example of jquery append() and prepend() method. The append() method inserts t...

Read More


How To Generate QR Code In Angular 13
How To Generate QR Code In Ang...

In this article, we will see how to generate QR code in angular 13. In this example, we will use the angularx-qrcod...

Read More


How to Send Bulk Mail Using Queue in Laravel 9
How to Send Bulk Mail Using Qu...

In this article, we will see how to send bulk mail using queue in laravel 9. Laravel queue is used for sending bulk...

Read More