How To

How to Create Custom Artisan Command in Laravel 8?

Hello Laravel Developers,

In this Laravel tutorial, we will learn How to Create Custom Artisan Command in Laravel 8? Before that, let’s understand Artisan in Laravel.

What is Artisan in Laravel?

Artisan is a command line interface that is included with Laravel. Artisan provides several helpful commands that can assist you in building your application. To view all available Artisan commands, you may use the list command as follows:

$ php artisan list

This article will show how to create custom artisan commands in Laravel.

Typically commands are stored in the app/console/Commands directory.

Before starting, we need some pre-requirements listed below:

  1. New Laravel project.
  2. A secure database connection.
  3. And User model.

How to Create Custom Artisan Command in Laravel:

Step 1: First, we will create a command using artisan console or cmd. We need to use the make:command Artisan command. This command will create a new command class in the app/console/commands directory.

$ php artisan make:command checkUser

Step 2: After that, define the appropriate values of $signature and $description properties of the class. The handle method will be called when command is executed. You may place your command logic in this method. Let’s take a look at our checkUser command file. 

<?php

namespace App\Console\Commands;

use App\Models\User;
use Illuminate\Console\Command;

class checkUser extends Command
{
    /**
     * The name and signature of the console command.
     *
     * @var string
     */    protected $signature = 'check:user {email}';

    /**
     * The console command description.
     *
     * @var string
     */    protected $description = 'This command is used to check whether an email address exists in the database or not.';

    /**
     * Create a new command instance.
     *
     * @return void
     */    public function __construct()
    {
        parent::__construct();
    }

    /**
     * Execute the console command.
     *
     * @return int
     */    public function handle()
    {
        $email = $this->argument('email');
        $user = User::where('email', $email)->first();
        if ($user)
        {
            $this->info("User is exist");
        }
        else
        {
            $this->info("User not exist");
        }
        return 0;
    }
}

Let’s test our command in the console

The below output shows if the user exist

The below output shows if the user does not exist

Conclusion:

This way, you can create any of your required custom Artisan command in Laravel 8. If you have any doubt, let me know through the comment section. Get in touch with our Laravel Experts to expand your knowledge in Laravel.

Happy Coding!

Click to rate this post!
[Total: 6 Average: 4.8]
Bharat Desai

Bharat Desai is a Co-Founder at MageComp. He is an Adobe Magento Certified Frontend Developer ? with having 8+ Years of experience and has developed 150+ Magento 2 Products with MageComp. He has an unquenchable thirst to learn new things. On off days you can find him playing the game of Chess ♟️ or Cricket ?.

Recent Posts

Generating Thumbnails with Spatie Media Library in Laravel 11: A Step-by-Step Guide

Generating image thumbnails is a common requirement in web applications, especially when handling media-heavy content.…

4 hours ago

Enhancing Web Application Security with Laravel’s Built-In Features

In today’s digital landscape, web application security is paramount. As a powerful PHP framework, Laravel…

1 day ago

Magento 2 Extensions Digest October 2024 (New Release & Updates)

October was an exciting month for MageComp! From significant updates across our Magento 2 extension…

1 day ago

Improving Error Handling and Transition Management in Remix with useRouteError and useViewTransitionState

In modern web development, seamless navigation and state management are crucial for delivering a smooth…

1 week ago

Magento Open Source 2.4.8-Beta Release Notes

Magento Open Source 2.4.8 beta version released on October  8, 2024. The latest release of…

1 week ago

How to Create Catalog Price Rule in Magento 2 Programmatically?

Hello Magento Friends, Creating catalog price rules programmatically in Magento 2 can be a valuable…

1 week ago