Skip to main content

Introduzione

In questo tutorial costruirai un’applicazione Laravel con comandi Artisan personalizzati usando revolution/laravel-console-starter. I vantaggi di usare questo starter kit:
  • Setup rapido — puoi iniziare subito lo sviluppo di app console senza configurazioni complesse
  • Ecosistema Laravel — puoi usare le funzionalità di Laravel come task scheduling, database e notifiche
  • Comandi Artisan — con il potente sistema Artisan di Laravel puoi creare e gestire facilmente i tuoi comandi
  • Facilità di test — puoi scrivere test per i comandi con il framework di testing di Laravel

Prerequisiti

Installa il seguente software.

Setup del progetto

1

Crea un nuovo progetto

Esegui il seguente comando nel terminale.
Viene creata la directory my-app e configurata la struttura base dell’app console.All’installazione vengono eseguite automaticamente le seguenti operazioni.
  • Generazione del file .env a partire da .env.example
  • Impostazione dell’application key con php artisan key:generate
Struttura principale delle directory:
2

Verifica la configurazione dell'ambiente

Per impostazione predefinita, l’invio email è impostato sul log (MAIL_MAILER=log).Se ti serve un vero invio di email, configura nel file .env servizi come Mailgun, Postmark o SES.

Creazione di un comando console

1

Genera un comando

Crea un nuovo comando con make:command di Artisan.
  • YourCommandName — nome della classe del comando da creare (es.: SendDailyReport)
  • your:command — nome invocabile del comando (es.: report:send-daily)
Viene generato app/Console/Commands/YourCommandName.php.
2

Implementa il comando

Modifica il file generato per implementare la logica. Ecco un esempio “Hello World”.
In $signature definisci il nome invocabile del comando e scrivi la logica nel metodo handle().
3

Esegui il comando

Dopo l’esecuzione, il messaggio viene stampato in storage/logs/laravel.log e in console.

Task scheduling con GitHub Actions

Usando GitHub Actions puoi eseguire comandi in modo periodico senza bisogno di cron sul server.
1

Controlla il file workflow

Lo starter kit include .github/workflows/cron.yml già preconfigurato.
2

Cambia il comando

Sostituisci php artisan inspire con il tuo comando.
Per eseguire più comandi:
3

Regola la pianificazione

Modifica l’espressione cron per impostare la frequenza.
4

Gestisci le informazioni sensibili come secret

Le informazioni sensibili come API key e password vanno tenute nei secret della repository GitHub.Aggiungi i secret in Settings > Secrets and variables > Actions della repository GitHub e referenziali nel workflow.

Notifiche

Puoi notificare via email, Slack, ecc. il risultato o gli errori di un comando.
1

Crea una classe di notifica

Viene generato app/Notifications/TaskCompleted.php.
2

Configura il canale di notifica

Se necessario, pubblica i file di configurazione.
3

Invia la notifica dal comando

Per i dettagli consulta la documentazione delle notifiche di Laravel.

Esempi pratici di applicazioni

Esempio 1: monitoraggio uptime di siti web e alert Slack

Un comando che verifica se un sito è online e invia un alert su Slack in caso di problemi.
1

Installa il canale di notifica Slack

2

Crea comando e notifica

3

Configura Slack

Aggiungi l’URL del webhook Slack in .env.
Aggiorna config/services.php.
4

Implementa la notifica

Modifica app/Notifications/WebsiteDown.php.
5

Implementa il comando

Modifica app/Console/Commands/MonitorWebsites.php.
6

Schedula con GitHub Actions

Aggiorna .github/workflows/cron.yml.

Esempio 2: aggiornamento portafoglio crypto e notifica Discord

Un comando che recupera i prezzi delle crypto dall’API CoinGecko e invia gli aggiornamenti tramite webhook Discord.
1

Installa il canale di notifica Discord

2

Crea comando e notifica

3

Configura Discord

Aggiungi l’URL del webhook Discord in .env.
Aggiorna config/services.php.
4

Implementa ed esegui il comando

Per l’implementazione dettagliata consulta il tutorial nella repository GitHub.

Esempio 3: scraping di contenuti dal web e notifica via email

Un comando che effettua scraping di contenuti da un sito e invia i risultati via email.
1

Crea comando e notifica

2

Configura la mail

Aggiungi la configurazione della mail nel file .env.
3

Implementa ed esegui il comando

Passi successivi

Ora conosci le basi per costruire un’applicazione console Laravel con revolution/laravel-console-starter. Per approfondire:
  • Esplora la documentazione Laravel — verifica sulla documentazione ufficiale Laravel le funzionalità che possono potenziare la tua app console
  • Aggiungi test — scrivi test per i comandi con il framework di testing di Laravel per garantirne l’affidabilità
  • Valuta lo sviluppo di pacchetti — se crei comandi simili in più progetti, valuta di pubblicarli come pacchetto Laravel riutilizzabile
  • Segui le novità — segui Laravel News e il blog ufficiale per restare aggiornato sulle best practice
Ultima modifica il 13 luglio 2026