artisan laravel

Artisan fornisce una serie di comandi utili per la produzione dei progetti laravel.

Il framework Laravel e Artisan sono predisposti per la creazione di nuovi comandi Artisan, scrivendo codice programma in linguaggio PHP.

In questo articolo andiamo a vedere come definire e scrivere un nuovo comando Artisan.

Tempo di lettura: 3 minuti

Artisan di Laravel 11

Per creare un nuovo comando Artisan, usiamo il comando

php artisan make:command <command-name>

Questo comando creerà una nuova classe di comandi all’interno della directory app/Console/Commands. Nel caso in cui la directory non esista nel nostro progetto laravel, verrà creata automaticamente la prima volta che eseguiamo il comando artisan make:command.

Artisan è una command line utility di Laravel, ampiamente utilizzata per impostare migrations, routes, queue, controllers e molto altro.

Per un elenco completo delle attività che Artisan Laravel può fare, esegui il comando seguente all’interno della directory del progetto Laravel:

php artisan

Make è un comando importante in Artisan, utilizzato per creare comandi Artisan personalizzati.

 make
  make:channel                         Create a new channel class
  make:chart                           Creates a new chart
  make:command                         Create a new Artisan command
  make:controller                      Create a new controller class
  make:event                           Create a new event class
  make:exception                       Create a new custom exception class
  make:factory                         Create a new model factory
  make:job                             Create a new job class
  make:listener                        Create a new event listener class
  make:mail                            Create a new email class
  make:middleware                      Create a new middleware class
  make:migration                       Create a new migration file
  make:model                           Create a new Eloquent model class
  make:notification                    Create a new notification class
  make:observer                        Create a new observer class
  make:policy                          Create a new policy class
  make:provider                        Create a new service provider class
  make:request                         Create a new form request class
  make:resource                        Create a new resource
  make:rule                            Create a new validation rule
  make:seeder                          Create a new seeder class
  make:test                            Create a new test class

I comandi artisan Laravel possono essere anche schedulati nel CRON.

Artisan Laravel le origini

Se osserviamo il sorgente dell’applicazione Artisan nella directory Illuminate\Console, noterai che la classe stessa estende Symfony\Component\Console\Application.

Sebbene Artisan utilizzi il componente console più conosciuto di Symfony, ha ancora alcuni metodi comuni con alias simili a Laravel. Avrai comunque la sensazione di sviluppare in modo nativo con Laravel.

Comando personalizzato Artisan

Usando Laravel, puoi facilmente creare command di Artisan personalizzati. Basta digitare il seguente comando nella Console Artisan del tuo progetto per creare un nuovo comando personalizzato (il nome del comando segue il make:command):

php artisan make:command <command_name>

Ora apri il tuo terminale ed esegui il seguente comando.

php artisan make:command CreateEmployee

Una volta eseguito completamente il comando sopra menzionato, otterrai un file nella directory app/console/Commands con il nome “CreateEmployee”. Ecco il codice:

<?php

namespace App\Console\Commands;

use Illuminate\Console\Command;

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

   /**
    * The console command description.
    *
    * @var string
    */
   protected $description = 'Command description';

   /**
    * Execute the console command.
    *
    * @return mixed
    */
   public function handle()
   {
       //
   }
}

Ora è il momento di aggiornare il comando Laravel appena creato, andremo a scrivere il codice nel metodo handle(), eventuali parametri nella $signature e la descrizione in $description.

Nel metodo handle definiremo $user per creare l’amministratore e $description per creare un account utente con ruolo di amministratore. Definendo questi, dobbiamo anche aggiornare il campo ruolo nella tabella utenti.

Migration

Creiamo prima le tabelle di migrazione e il modello con il seguente comando:

php artisan make:model Employee -m

In questo modo verrà creato il Modello Employee e la migration per la tabella employees. Ora controlla la cartella di migrazione e vedrai la tabella di migrazione appena creata. Puoi anche customizzare le funzioni up() e down() per tua comodità.

Model

Ora dovrai aggiornare il model con il seguente codice:

protected $fillable = [
   'name', 'email', 'password', 'role'
];

Successivamente, puoi aggiornare handle() in base ai requisiti desiderati:

$newuser = [
           'name' => 'AYX',
           'email' => 'WYZ@domain.com',
           'password' => bcrypt('secret'),
           'role' => 'Manager'
       ];

Letture Correlate

Ercole Palmeri