62 lines
1.5 KiB
PHP
62 lines
1.5 KiB
PHP
<?php
|
|
|
|
namespace App\Framework\Console;
|
|
|
|
interface ConsoleInputInterface
|
|
{
|
|
/**
|
|
* Gibt ein Argument an der angegebenen Position zurück
|
|
*/
|
|
public function getArgument(int $index, ?string $default = null): ?string;
|
|
|
|
/**
|
|
* Gibt alle Argumente zurück
|
|
*/
|
|
public function getArguments(): array;
|
|
|
|
/**
|
|
* Gibt eine Option zurück
|
|
*/
|
|
public function getOption(string $name, mixed $default = null): mixed;
|
|
|
|
/**
|
|
* Prüft, ob eine Option vorhanden ist
|
|
*/
|
|
public function hasOption(string $name): bool;
|
|
|
|
/**
|
|
* Gibt alle Optionen zurück
|
|
*/
|
|
public function getOptions(): array;
|
|
|
|
/**
|
|
* Fragt nach einer Benutzereingabe
|
|
*/
|
|
public function ask(string $question, string $default = ''): string;
|
|
|
|
/**
|
|
* Fragt nach einem Passwort (versteckte Eingabe)
|
|
*/
|
|
public function askPassword(string $question): string;
|
|
|
|
/**
|
|
* Fragt nach einer Bestätigung (Ja/Nein)
|
|
*/
|
|
public function confirm(string $question, bool $default = false): bool;
|
|
|
|
/**
|
|
* Zeigt ein einfaches Auswahlmenü
|
|
*/
|
|
public function choice(string $question, array $choices, mixed $default = null): mixed;
|
|
|
|
/**
|
|
* Zeigt ein interaktives Menü mit Pfeiltasten-Navigation
|
|
*/
|
|
public function menu(string $title, array $items): mixed;
|
|
|
|
/**
|
|
* Ermöglicht die Mehrfachauswahl aus einer Liste von Optionen
|
|
*/
|
|
public function multiSelect(string $question, array $options): array;
|
|
}
|