Information!

Laravel Prompts: So baust du interaktive Terminals und skalierbare Business-Anwendungen

09. September 2024

Veröffentlicht in:

Webentwicklung

Stell dir vor, du könntest nicht nur leistungsstarke Webanwendungen mit Laravel entwickeln, sondern auch interaktive Anwendungen direkt im Terminal. Genau das ermöglicht Laravel Prompts – eine leistungsstarke Bibliothek, die es Entwicklern erlaubt, benutzerfreundliche, textbasierte Benutzeroberflächen (TUI) für Kommandozeilenanwendungen zu erstellen.

Ob du nun auf der Suche nach Automatisierungslösungen bist, Arbeitsprozesse vereinfachen willst oder komplexe Datenverarbeitungen direkt aus der Kommandozeile steuern möchtest – Laravel Prompts ist dein neuer bester Freund. Dieser Beitrag gibt dir einen Überblick darüber, wie Laravel Prompts funktioniert, welche Anwendungsfälle es gibt und wie du es konkret in Projekten nutzen kannst.

Was ist Laravel Prompts?

Laravel Prompts ist eine PHP-Bibliothek, die speziell entwickelt wurde, um Benutzerinteraktionen in der Kommandozeile zu vereinfachen. Sie integriert sich nahtlos in Artisan, das eingebaute CLI-Tool von Laravel, kann aber auch in jedem anderen PHP-Projekt verwendet werden.

Mit dieser Bibliothek kannst du verschiedene Arten von Eingabeaufforderungen erstellen, zum Beispiel:

  • Einfache Texteingaben
  • Bestätigungsdialoge
  • Passwortabfragen
  • Auswahlmenüs (Single- oder Multi-Select)
  • Fortschrittsbalken und Tabellen

Die Bibliothek unterstützt alle gängigen Betriebssysteme, darunter macOS, Linux und Windows (über WSL).

Installation von Laravel Prompts

Laravel Prompts ist standardmäßig bereits in Laravel enthalten. Für andere PHP-Projekte kannst du die Bibliothek einfach mit Composer installieren:

composer require laravel/prompts

Funktionsweise und Beispiele

1. Texteingaben

Die einfachste Form einer Eingabeaufforderung ist die Texteingabe. Hier kannst du dem Nutzer eine Frage stellen und seine Antwort als String zurückerhalten.

use function Laravel\Prompts\text;

$name = text('Wie lautet dein Name?');

Du kannst Platzhalter, Standardwerte und Hinweise hinzufügen:

$name = text(
    label: 'Wie lautet dein Name?',
    placeholder: 'E.g. John Doe',
    default: $user?->name,
    hint: 'Dieser Name wird auf deinem Profil angezeigt.'
);

2. Bestätigungsdialoge

Manchmal möchtest du eine Bestätigung vom Nutzer erhalten. Dafür bietet Laravel Prompts die Funktion confirm, die entweder true oder false zurückgibt:

use function Laravel\Prompts\confirm;

$confirmed = confirm('Möchtest du die Änderungen speichern?');

3. Fortschrittsbalken

Fortschrittsbalken sind besonders nützlich bei lang andauernden Aufgaben, um den Fortschritt für den Nutzer sichtbar zu machen:

use function Laravel\Prompts\progress;

$tasks = ['Task 1', 'Task 2', 'Task 3'];
progress(
    label: 'Verarbeite Aufgaben',
    steps: $tasks,
    callback: fn ($task) => $this->processTask($task)
);

4. Mehrfachauswahl (Multi-Select)

Mit dem multiselect kannst du dem Nutzer die Möglichkeit geben, mehrere Optionen aus einer Liste auszuwählen:

use function Laravel\Prompts\multiselect;

$permissions = multiselect(
    label: 'Welche Berechtigungen sollen zugewiesen werden?',
    options: ['Lesen', 'Schreiben', 'Löschen']
);

Du kannst auch Standardwerte und Hinweise angeben:

$permissions = multiselect(
    label: 'Welche Berechtigungen sollen zugewiesen werden?',
    options: ['Lesen', 'Schreiben', 'Löschen'],
    default: ['Lesen'],
    hint: 'Mehrere Optionen können ausgewählt werden.'
);

Anwendungsbeispiele für den Geschäftsalltag

Für Unternehmen können interaktive CLI-Tools extrem hilfreich sein, insbesondere in folgenden Bereichen:

  1. Datenverarbeitung: Du arbeitest mit großen Datenmengen und möchtest eine schnelle Möglichkeit haben, diese zu verarbeiten, ohne eine grafische Benutzeroberfläche zu nutzen? Mit Laravel Prompts kannst du direkt in der Kommandozeile Datensätze durchsuchen, filtern und bearbeiten.

  2. Automatisierung: Administratoren können über eine interaktive Oberfläche wichtige Aufgaben ausführen, ohne sich durch komplexe Menüstrukturen oder Skripte arbeiten zu müssen.

  3. Onboarding-Prozesse: Wenn du ein Entwicklerteam leitest, kannst du automatisierte Onboarding-Skripte erstellen, die neue Entwickler durch den Einrichtungsprozess führen, z.B. das Einrichten von Umgebungsvariablen oder die Installation von Projektabhängigkeiten.

Fazit: Effizienzsteigerung durch Laravel Prompts

Mit Laravel Prompts erweiterst du die Möglichkeiten deiner Terminalanwendungen und kannst interaktive Benutzeroberflächen direkt im Terminal erstellen. Ob zur Dateneingabe, zur Automatisierung von Geschäftsprozessen oder zur effizienten Verwaltung von Systemressourcen – Laravel Prompts bietet dir eine flexible, skalierbare Lösung.

Falls du darüber nachdenkst, deine Prozesse durch interaktive CLI-Tools zu optimieren, lass uns gerne darüber sprechen, wie wir gemeinsam eine Lösung entwickeln können, die zu deinen Bedürfnissen passt.

Lass uns über dein Projekt sprechen!

Können wir weiterhelfen?

Sie haben ein spannendes Projekt und möchten mit uns zusammenarbeiten? Kontaktieren Sie uns jetzt!

Kostenloses Erstgespräch