Skip to main content

Einführung

In diesem Tutorial bauen Sie mit revolution/laravel-console-starter eine Laravel-Anwendung mit eigenen Artisan-Kommandos auf. Vorteile dieses Starter-Kits:
  • Schnelle Einrichtung – Ohne komplizierte Konfiguration können Sie sofort mit der Entwicklung von Konsolen-Anwendungen beginnen.
  • Laravel-Ökosystem – Sie können Laravels reichhaltige Funktionen wie Task-Scheduling, Datenbank und Notifications nutzen.
  • Artisan-Kommandos – Über das leistungsfähige Artisan-System von Laravel erstellen und verwalten Sie eigene Kommandos einfach.
  • Testbarkeit – Sie können Tests für Ihre Kommandos mit dem Test-Framework von Laravel schreiben.

Voraussetzungen

Installieren Sie die folgende Software.

Projekt einrichten

1

Neues Projekt erstellen

Führen Sie im Terminal folgenden Befehl aus.
Das Verzeichnis my-app wird angelegt und die Grundstruktur der Konsolen-Anwendung eingerichtet.Automatisch werden bei der Installation ausgeführt:
  • Erzeugung der .env-Datei aus .env.example
  • Setzen des Application Keys per php artisan key:generate
Wichtige Verzeichnisstruktur:
2

Umgebungseinstellungen prüfen

Standardmäßig ist der Mail-Versand auf Log-Ausgabe eingestellt (MAIL_MAILER=log).Wenn Sie tatsächliche Mails versenden möchten, konfigurieren Sie in .env einen Dienst wie Mailgun, Postmark oder SES.

Konsolen-Kommando erstellen

1

Kommando generieren

Erstellen Sie mit dem Artisan-Kommando make:command ein neues Kommando.
  • YourCommandName – Klassenname des zu erstellenden Kommandos (z. B. SendDailyReport)
  • your:command – Aufrufname des Kommandos (z. B. report:send-daily)
Es wird app/Console/Commands/YourCommandName.php erzeugt.
2

Kommando implementieren

Bearbeiten Sie die erzeugte Datei und implementieren Sie die Logik. Das folgende Beispiel zeigt ein Hello-World-Kommando.
Über $signature definieren Sie den Aufrufnamen des Kommandos, in der Methode handle() schreiben Sie die Logik.
3

Kommando ausführen

Nach der Ausführung wird eine Meldung in storage/logs/laravel.log und auf der Konsole ausgegeben.

Task-Scheduling mit GitHub Actions

Mit GitHub Actions können Sie Kommandos regelmäßig ausführen, ohne einen Cronjob auf einem Server einrichten zu müssen.
1

Workflow-Datei prüfen

Im Starter-Kit ist die Datei .github/workflows/cron.yml bereits vorkonfiguriert enthalten.
2

Kommando anpassen

Ersetzen Sie php artisan inspire durch Ihr eigenes Kommando.
Für mehrere Kommandos:
3

Zeitplan anpassen

Passen Sie den cron-Ausdruck an, um die Ausführungshäufigkeit festzulegen.
4

Vertrauliche Daten über Secrets verwalten

Vertrauliche Informationen wie API-Keys und Passwörter verwalten Sie über die GitHub-Repository-Secrets.Fügen Sie unter Settings > Secrets and variables > Actions im GitHub-Repository Secrets hinzu und referenzieren Sie sie im Workflow.

Notification-Funktionen

Sie können die Ergebnisse oder Fehler eines Kommandos per Mail, Slack usw. benachrichtigen.
1

Notification-Klasse erstellen

Es wird app/Notifications/TaskCompleted.php erzeugt.
2

Notification-Kanal konfigurieren

Veröffentlichen Sie bei Bedarf die Konfigurationsdateien.
3

Aus dem Kommando eine Benachrichtigung versenden

Praktische Anwendungsbeispiele

Beispiel 1: Verfügbarkeitsüberwachung von Websites mit Slack-Alerts

Ein Kommando, das prüft, ob Websites online sind, und bei Problemen einen Alert an Slack sendet.
1

Slack-Notification-Kanal installieren

2

Kommando und Notification erstellen

3

Slack konfigurieren

Fügen Sie in .env die Slack-Webhook-URL hinzu.
Aktualisieren Sie config/services.php.
4

Notification implementieren

Bearbeiten Sie app/Notifications/WebsiteDown.php.
5

Kommando implementieren

Bearbeiten Sie app/Console/Commands/MonitorWebsites.php.
6

Schedule mit GitHub Actions einrichten

Aktualisieren Sie .github/workflows/cron.yml.

Beispiel 2: Kryptoportfolio-Update mit Discord-Benachrichtigung

Ein Kommando, das über die CoinGecko-API Kryptowährungskurse abruft und Updates per Discord-Webhook sendet.
1

Discord-Notification-Kanal installieren

2

Kommando und Notification erstellen

3

Discord konfigurieren

Fügen Sie in .env die Discord-Webhook-URL hinzu.
Aktualisieren Sie config/services.php.
4

Kommando implementieren und ausführen

Für die Detail-Implementierung siehe das Tutorial im GitHub-Repository.

Beispiel 3: Website-Content-Scraping mit Mail-Benachrichtigung

Ein Kommando, das Inhalte von einer Website scrapt und das Ergebnis per Mail versendet.
1

Kommando und Notification erstellen

2

Mail konfigurieren

Fügen Sie die Mail-Konfiguration in .env hinzu.
3

Kommando implementieren und ausführen

Nächste Schritte

Sie haben die Grundlagen einer Laravel-Konsolen-Anwendung mit revolution/laravel-console-starter kennengelernt. Zum weiteren Vertiefen:
  • Laravel-Dokumentation erkunden – In der offiziellen Laravel-Dokumentation finden Sie Funktionen, mit denen Sie Ihre Konsolen-Anwendung erweitern können.
  • Tests implementieren – Schreiben Sie mit dem Test-Framework von Laravel Tests für Ihre Kommandos, um Verlässlichkeit zu gewährleisten.
  • Paket-Entwicklung erwägen – Wenn Sie in mehreren Projekten ähnliche Kommandos benötigen, ziehen Sie in Betracht, sie als wiederverwendbares Laravel-Paket zu veröffentlichen.
  • Auf dem Laufenden bleiben – Folgen Sie Laravel News und dem offiziellen Blog, um Best Practices im Blick zu behalten.
Zuletzt geändert am 13. Juli 2026