Introduzione
In questo tutorial costruirai un’applicazione Laravel con comandi Artisan personalizzati usandorevolution/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.- PHP
^8.3 - Composer (https://getcomposer.org/)
- Laravel Installer (
composer global require laravel/installer)
Setup del progetto
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
.enva partire da.env.example - Impostazione dell’application key con
php artisan key:generate
Creazione di un comando console
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)
app/Console/Commands/YourCommandName.php.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().Task scheduling con GitHub Actions
Usando GitHub Actions puoi eseguire comandi in modo periodico senza bisogno di cron sul server.Regola la pianificazione
Modifica l’espressione
cron per impostare la frequenza.| Espressione cron | Quando |
|---|---|
0 0 * * * | Ogni giorno alle 00:00 UTC |
0 */6 * * * | Ogni 6 ore |
0 0 * * 1 | Ogni lunedì a mezzanotte |
Notifiche
Puoi notificare via email, Slack, ecc. il risultato o gli errori di un 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.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.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.Passi successivi
Ora conosci le basi per costruire un’applicazione console Laravel conrevolution/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