Skip to main content

Inleiding

In deze tutorial bouw je met revolution/laravel-console-starter een Laravel-applicatie met custom artisan-commands. De voordelen van deze starter kit:
  • Snelle setup — Je begint direct met het ontwikkelen van consoleapps, zonder complexe configuratie
  • Laravel-ecosysteem — Je gebruikt de rijke functionaliteit van Laravel, zoals taskscheduling, databases en notificaties
  • Artisan-commands — Met het krachtige Artisan-systeem van Laravel maak en beheer je eenvoudig eigen commands
  • Testbaarheid — Je schrijft tests voor je commands met het testframework van Laravel

Vereisten

Installeer de volgende software.

Het project opzetten

1

Een nieuw project maken

Voer in je terminal het volgende command uit.
De directory my-app wordt aangemaakt en de basisstructuur van de consoleapp wordt opgezet.Tijdens de installatie wordt het volgende automatisch uitgevoerd.
  • Het genereren van een .env-bestand op basis van .env.example
  • Het instellen van de applicatiesleutel met php artisan key:generate
De belangrijkste directorystructuur:
2

De omgevingsconfiguratie controleren

Standaard is e-mailverzending ingesteld op loggen (MAIL_MAILER=log).Wil je echt e-mails versturen, configureer dan in het .env-bestand een service zoals Mailgun, Postmark of SES.

Een consolecommand maken

1

Het command genereren

Maak een nieuw command met het Artisan-command make:command.
  • YourCommandName — De klassenaam van het te maken command (bijvoorbeeld SendDailyReport)
  • your:command — De aanroepnaam van het command (bijvoorbeeld report:send-daily)
app/Console/Commands/YourCommandName.php wordt gegenereerd.
2

Het command implementeren

Bewerk het gegenereerde bestand en implementeer je logica. Hieronder een voorbeeld van een Hello World-command.
Met $signature definieer je de aanroepnaam van het command en in de handle()-method schrijf je de logica.
3

Het command uitvoeren

Na het uitvoeren verschijnt het bericht in storage/logs/laravel.log en in de console.

Taskscheduling met GitHub Actions

Met GitHub Actions voer je commands periodiek uit zonder cronjobs op een server.
1

Het workflowbestand bekijken

De starter kit bevat een vooraf geconfigureerd .github/workflows/cron.yml.
2

Het command aanpassen

Vervang php artisan inspire door je eigen command.
Meerdere commands uitvoeren:
3

Het schema aanpassen

Wijzig de cron-expressie om de uitvoeringsfrequentie in te stellen.
4

Gevoelige gegevens beheren met secrets

Voor gevoelige gegevens zoals API-sleutels en wachtwoorden gebruik je GitHub-repositorysecrets.Voeg secrets toe via Settings > Secrets and variables > Actions in je GitHub-repository en verwijs ernaar in de workflow.

Notificaties

Je kunt de resultaten of fouten van commands melden via e-mail, Slack en meer.
1

Een notificatieklasse maken

app/Notifications/TaskCompleted.php wordt gegenereerd.
2

Notificatiekanalen configureren

Publiceer indien nodig de configuratiebestanden.
3

Een notificatie versturen vanuit een command

Zie de Laravel-notificatiedocumentatie voor details.

Praktische applicatievoorbeelden

Voorbeeld 1: uptime-monitoring van websites met Slack-alerts

Een command dat controleert of websites online zijn en bij een gedetecteerd probleem een alert naar Slack stuurt.
1

Het Slack-notificatiekanaal installeren

2

Het command en de notificatie maken

3

Slack configureren

Voeg de Slack-webhook-URL toe aan .env.
Werk config/services.php bij.
4

De notificatie implementeren

Bewerk app/Notifications/WebsiteDown.php.
5

Het command implementeren

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

Schedulen met GitHub Actions

Werk .github/workflows/cron.yml bij.

Voorbeeld 2: cryptoportfolio-updates met Discord-notificaties

Een command dat cryptovalutaprijzen ophaalt via de CoinGecko-API en updates verstuurt via een Discord-webhook.
1

Het Discord-notificatiekanaal installeren

2

Het command en de notificatie maken

3

Discord configureren

Voeg de Discord-webhook-URL toe aan .env.
Werk config/services.php bij.
4

Het command implementeren en uitvoeren

Zie de tutorial in de GitHub-repository voor de gedetailleerde implementatie.

Voorbeeld 3: websitecontent scrapen met e-mailnotificaties

Een command dat content van een website scrapet en het resultaat per e-mail verstuurt.
1

Het command en de notificatie maken

2

E-mail configureren

Voeg de e-mailconfiguratie toe aan het .env-bestand.
3

Het command implementeren en uitvoeren

Volgende stappen

Je hebt nu de basis geleerd van Laravel-consoleapplicaties met revolution/laravel-console-starter. Om je verder te verdiepen:
  • Verken de Laravel-documentatie — Bekijk in de officiële Laravel-documentatie welke functies je consoleapp kunnen versterken
  • Implementeer tests — Schrijf tests voor je commands met het testframework van Laravel en waarborg de betrouwbaarheid
  • Overweeg pakketontwikkeling — Maak je vergelijkbare commands in meerdere projecten, overweeg dan om ze te publiceren als herbruikbaar Laravel-pakket
  • Blijf op de hoogte — Volg Laravel News en de officiële blog om best practices bij te houden
Laatst gewijzigd op 6 september 2026