Como criar um Comando Artisan personalizado no Laravel

Passo 1

Primeiramente, vamos criar o comando usando o console Artisan ou o terminal.

Para isso, utilize o comando make:command do Artisan. Este comando criará uma nova classe de comando no diretório app/Console/Commands.

php artisan make:command checkUser

Passo 2:

Em seguida, defina os valores apropriados para as propriedades $signature e $description da classe.

O método handle será chamado quando o comando for executado. Você pode inserir a lógica do seu comando dentro deste método. Vamos dar uma olhada no arquivo do comando checkUser.

<?php

namespace App\Console\Commands;

use App\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 = 'Este comando é usado para verificar se existe ou não um endereço de e-mail no banco de dados.';

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

    /**
     * Execute the console command.
     *
     */
    public function handle()
    {
        $email = $this->argument('email');

        $user = User::where('email', $email)->first();

        if ($user) {
            $this->info("Usuário encontrado: {$user->name}");
        } else {
            $this->warn("Usuário não encontrado.");
        }

        return Command::SUCCESS;
    }
}

Vamos testar nosso comando no console

A saída abaixo indica que o usuário existe:

Usuário encontrado: NOME

A saída abaixo indica que o usuário não existe:

Usuário não encontrado.

Conclusão:

Dessa forma, você pode criar qualquer comando Artisan personalizado necessário no Laravel 8.

Se tiver alguma dúvida, fique à vontade para me avisar na seção de comentários.

0
Subscribe to my newsletter

Read articles from Fernando Bezerra directly inside your inbox. Subscribe to the newsletter, and don't miss out.

Written by

Fernando Bezerra
Fernando Bezerra

Sou Full Stack e escritor amador entusiasmado por desenvolvimento de software. Compartilho meu entusiasmo pela tecnologia e complexidades do desenvolvimento através da escrita.