Files
michaelschiemer/src/Framework/Console/ConsoleInputInterface.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;
}