Skip to main content

Was ist Artisan

Artisan ist die Kommandozeilenschnittstelle (CLI), die Laravel mitbringt. Sie liegt als Skript artisan im Projekt-Root und stellt zahlreiche Befehle bereit, die Ihre Entwicklung und Ihren Betrieb effizienter machen. Um die verfügbaren Befehle anzuzeigen, verwenden Sie den Befehl list.
Um sich die Nutzung eines Befehls anzeigen zu lassen, stellen Sie help voran.
Wenn Sie Laravel Sail verwenden, nutzen Sie statt php artisan den Befehl sail artisan. Der Befehl wird im Docker-Container ausgeführt.

Tinker

Laravel Tinker ist eine REPL-Umgebung, mit der Sie Eloquent-Modelle, Jobs, Events und die gesamte Anwendung interaktiv auf der Kommandozeile steuern.
Nach dem Start können Sie beliebigen PHP-Code direkt ausführen.
Tinker verändert Daten tatsächlich. In der Produktionsumgebung sollten Sie daher besonders vorsichtig sein. Für lokale oder Staging-Umgebungen ist es ideal, um Verhalten zu prüfen und zu debuggen.

Eigene Befehle erstellen

Befehl erzeugen

Mit make:command erzeugen Sie das Grundgerüst einer Befehlsklasse.
Das erzeugt die Datei app/Console/Commands/ImportProducts.php.

Grundaufbau eines Befehls

Die erzeugte Klasse besteht im Wesentlichen aus drei Elementen: $signature, $description und handle().
In Laravel 13 können Sie auch die Schreibweise über PHP-Attribute verwenden.

Argumente und Optionen definieren

Über $signature legen Sie Namen, Argumente und Optionen des Befehls gebündelt fest.

Argumente und Optionen abrufen

In handle() greifen Sie mit argument() und option() auf die Werte zu.

input() — typisierte Accessoren

Mit input() erhalten Sie typisierten Zugriff auf Argumente und Optionen, ähnlich wie bei HTTP-Requests.
Wenn Sie nur einen bestimmten Namen abrufen möchten, übergeben Sie diesen direkt (es wird sowohl in Argumenten als auch Optionen gesucht).
Während argument() und option() Strings zurückgeben, konvertieren die typisierten Accessoren von input() in den passenden Typ. Praktisch, wenn Sie Datumsangaben, Zahlen oder Enums typsicher verarbeiten möchten.

Interaktion mit dem Benutzer

Ausgabe von Nachrichten

Für farbige Konsolenausgaben stehen fertige Methoden bereit.

Benutzer befragen

Sie können interaktiv Eingaben vom Benutzer einholen.

Fortschrittsanzeige

Bei der Verarbeitung großer Datenmengen können Sie den Fortschritt übersichtlich anzeigen.
Für feinere manuelle Steuerung nutzen Sie folgendes Muster.

Praxisnahe Anwendungsfälle

Datenimport-Befehl

Ein praktisches Beispiel eines Befehls, der Produktdaten aus einer CSV-Datei importiert.
1

Befehl erzeugen

2

Befehl implementieren

3

Befehl ausführen

Regelmäßiger Wartungsbefehl

Ein Beispiel für einen regelmäßig ausgeführten Wartungsbefehl, etwa zum Entfernen alter Daten.

Kombination mit dem Scheduler

Ihre Befehle können in routes/console.php geplant ausgeführt werden. Details finden Sie unter Task-Scheduling.

Befehle testen

Mit den Testfunktionen von Laravel können Sie das Verhalten Ihrer Artisan-Befehle überprüfen.
Beispiele für Assertion-Methoden, die mit artisan() genutzt werden können:

Häufig verwendete Befehle im Überblick

Zuletzt geändert am 13. Juli 2026