Artisan — Die Kommandozeile von Laravel

Praxis-Guide zu Laravel Artisan — Code generieren, Migrationen ausführen, Queues steuern und Caches leeren direkt über die Kommandozeile.

Artisan ist die Kommandozeile, die jedem Laravel-Projekt beiliegt – du sprichst sie immer über php artisan an. Statt Routine-Code von Hand zu tippen, generierst du Modelle, Controller und Migrationen mit einem einzigen Befehl, steuerst Queues und geplante Tasks und räumst Caches auf, wenn sich am Code etwas geändert hat. Dieser Guide bündelt die Befehle, die du im Laravel-Alltag wirklich brauchst – vom ersten make:-Aufruf bis zur Wartungspflege im Produktivbetrieb.

Allgemein

php artisan list — Listet alle verfügbaren Artisan-Befehle auf.

php artisan list

php artisan help <command> — Zeigt die Hilfe zu einem bestimmten Befehl an.

php artisan help make:model

php artisan serve — Startet den eingebauten Entwicklungsserver.

php artisan serve --port=8080

php artisan tinker — Öffnet eine interaktive REPL für deine Anwendung.

php artisan tinker

php artisan env — Zeigt die aktuelle Anwendungsumgebung an.

php artisan env

php artisan about — Zeigt eine Übersicht der Anwendung an (Laravel 9+).

php artisan about

Code-Generierung (make:)

php artisan make:model <Name> — Erzeugt ein neues Eloquent-Modell.

php artisan make:model Post -mfsc

php artisan make:controller <Name> — Erzeugt einen neuen Controller.

php artisan make:controller PostController --resource

php artisan make:migration <name> — Erzeugt eine neue Datenbank-Migration.

php artisan make:migration create_posts_table

php artisan make:seeder <Name> — Erzeugt einen neuen Datenbank-Seeder.

php artisan make:seeder PostSeeder

php artisan make:middleware <Name> — Erzeugt eine neue Middleware-Klasse.

php artisan make:middleware CheckAge

php artisan make:request <Name> — Erzeugt eine neue Form-Request-Klasse zur Validierung.

php artisan make:request StorePostRequest

php artisan make:command <Name> — Erzeugt einen neuen Artisan-Befehl.

php artisan make:command SendEmails

php artisan make:job <Name> — Erzeugt eine neue Queue-Job-Klasse.

php artisan make:job ProcessPodcast

Datenbank & Migrationen

php artisan migrate — Führt ausstehende Datenbank-Migrationen aus. In Produktion mit Bedacht einsetzen (vorher Backup, --force nötig).

php artisan migrate

php artisan migrate:status — Zeigt den Status jeder einzelnen Migration an.

php artisan migrate:status

php artisan migrate:rollback — Macht die letzte Batch an Migrationen rückgängig.

php artisan migrate:rollback --step=2

php artisan migrate:fresh — Verwirft alle Tabellen und führt anschließend alle Migrationen erneut aus. Destruktiv: löscht sämtliche Daten – in Produktion brandgefährlich und nur mit --force.

php artisan migrate:fresh --seed

php artisan migrate:reset — Macht alle Migrationen rückgängig und leert damit das Schema.

php artisan migrate:reset

php artisan db:seed — Führt Datenbank-Seeder aus.

php artisan db:seed --class=PostSeeder

php artisan db:wipe — Verwirft alle Tabellen, Views und Typen. Destruktiv: löscht die gesamte Datenbankstruktur restlos – in Produktion brandgefährlich, --force erforderlich.

php artisan db:wipe

Cache & Konfiguration

php artisan cache:clear — Leert den Anwendungs-Cache.

php artisan cache:clear

php artisan config:clear — Leert den Konfigurations-Cache.

php artisan config:clear

php artisan config:cache — Erzeugt eine Konfigurations-Cache-Datei (schnelleres Laden).

php artisan config:cache

php artisan route:cache — Erzeugt eine Route-Cache-Datei.

php artisan route:cache

php artisan route:clear — Leert den Route-Cache.

php artisan route:clear

php artisan view:clear — Löscht die kompilierten View-Dateien.

php artisan view:clear

php artisan optimize:clear — Leert alle gecachten Dateien (Konfiguration, Routen, Views, Events).

php artisan optimize:clear

Queues & Scheduling

php artisan queue:work — Startet die Verarbeitung von Jobs in der Queue.

php artisan queue:work --tries=3

php artisan queue:listen — Lauscht auf Queue-Jobs (startet nach jedem Job neu).

php artisan queue:listen

php artisan queue:retry <id> — Wiederholt einen fehlgeschlagenen Queue-Job.

php artisan queue:retry all

php artisan queue:failed — Listet alle fehlgeschlagenen Queue-Jobs auf.

php artisan queue:failed

php artisan queue:flush — Löscht alle fehlgeschlagenen Queue-Jobs.

php artisan queue:flush

php artisan schedule:run — Führt die im Scheduler definierten geplanten Tasks aus.

php artisan schedule:run

php artisan schedule:list — Listet alle geplanten Tasks auf.

php artisan schedule:list

Routen & Wartung

php artisan route:list — Listet alle registrierten Routen auf.

php artisan route:list --path=api

php artisan down — Versetzt die Anwendung in den Wartungsmodus.

php artisan down --secret='bypass-token'

php artisan up — Holt die Anwendung aus dem Wartungsmodus zurück.

php artisan up

php artisan key:generate — Erzeugt einen neuen Verschlüsselungs-Schlüssel für die Anwendung.

php artisan key:generate

php artisan storage:link — Legt einen symbolischen Link von public/storage auf storage/app/public an.

php artisan storage:link

Fazit

Artisan nimmt dir die wiederkehrende Fleißarbeit ab und macht Laravel-Projekte vom ersten Scaffold bis zum Deployment steuerbar – ein einziger Einstiegspunkt für Generierung, Datenbank, Queues und Wartung. Besondere Vorsicht gilt den löschenden Befehlen: migrate:fresh und db:wipe verwerfen sämtliche Tabellen und Daten und richten in der Produktion irreparablen Schaden an, wenn sie versehentlich laufen. Cache deine Konfiguration und Routen im Produktivbetrieb (config:cache, route:cache) und denke nach jeder Änderung an optimize:clear.

Verwandte Kommandos

  • cargo – Build-Tool und Paketmanager für Rust
  • composer – Abhängigkeits-Manager für PHP, Basis jedes Laravel-Projekts
  • drush – Kommandozeile für Drupal-Sites