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         
     ]);

     // ...     
});

 

Conclusion

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 Use ngStyle in Angular for Dynamic Styling?
How to Use ngStyle in Angular...

A user-friendly and dynamic interface is paramount to engaging users on your site. Angular is one of the most powerful a...

Read More

Oct-04-2023

How to Use an Image as a Link in React
How to Use an Image as a Link...

In the ever-evolving realm of web development, I've come to realize the significance of interactivity in shaping rem...

Read More

Aug-16-2023

Multi Step Form Wizard jQuery Validation
Multi Step Form Wizard jQuery...

In this article, we will see multi step form wizard jquery validation. Here, we will learn jquery validation for mu...

Read More

Jan-30-2023

How To Change Datepicker Start Date In Angular 15
How To Change Datepicker Start...

In this tutorial, I will guide you through the process of changing the start date of a datepicker component in Angular 1...

Read More

Jul-03-2023