You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
phpcommandline/src/CommandLine/Argument/IArgument.php

50 lines
1.2 KiB
PHP

<?php
/**
* Déclaration de l'interface CommandLine\Argument\IArgument
*/
namespace jrosset\CommandLine\Argument;
use jrosset\CommandLine\Exception\IncorrectParse;
/**
* Interface que tout argument doit implémenter
*
* @package CommandLine\Argument
*/
interface IArgument {
/**
* Le nom de la variable de sortie l'argument
*
* @return string Le nom
*/
public function getVarName (): string;
/**
* Le nom de l'argument
*
* @return string Le nom
*/
public function getName (): string;
/**
* La valeur par défaut de l'argument. Null si pas de valeur par défaut
*
* @return mixed|null La valeur par défaut
*/
public function getDefault();
/**
* La description de l'argument
*
* @return string|null La description
*/
public function getDescription (): ?string;
/**
* Parse les arguments.
*
* @param $args array La liste des arguments encore à traiter (par ordre de réception)
*
* @return ParseResult|null Le résultat du parsage. Null si rien parsé
* @throws IncorrectParse Echec du parsage de l'argument
*/
public function parse (array $args): ?ParseResult;
}