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.
125 lines
2.7 KiB
PHP
125 lines
2.7 KiB
PHP
<?php
|
|
|
|
/**
|
|
* Déclaration de la classe CommandLine\Argument\AbstractArgument.
|
|
*/
|
|
namespace CommandLine\Argument;
|
|
|
|
/**
|
|
* Classe abstraite pour n'importe quel type de paramètre
|
|
*
|
|
* @package CommandLine\Argument
|
|
*/
|
|
abstract class ArgumentAbstract implements IArgument {
|
|
/**
|
|
* @var string Le nom de la variable de retour de l'argument.
|
|
*/
|
|
protected $_varName;
|
|
/**
|
|
* @var string Le nom de l'argument.
|
|
*/
|
|
protected $_name;
|
|
/**
|
|
* @var string|null La description de l'argument.
|
|
*/
|
|
protected $_description;
|
|
|
|
/**
|
|
* @var mixed|null La valeur par défaut. Null si aucune.
|
|
*/
|
|
protected $_default = null;
|
|
|
|
/**
|
|
* Crée un nouvel argument.
|
|
*
|
|
* @param string $name Le nom de l'argument
|
|
* @param string|null $description La description de l'argument
|
|
*/
|
|
protected function __construct ($name, $description) {
|
|
$this->setName($name, true);
|
|
$this->setDescription($description);
|
|
}
|
|
|
|
/**
|
|
* @inheritDoc
|
|
*/
|
|
public function getVarName() {
|
|
return $this->_varName;
|
|
}
|
|
/**
|
|
* Définit le nom de la variable de retour de l'argument.
|
|
*
|
|
* @param string $varName Le nom
|
|
*
|
|
* @return $this
|
|
*
|
|
* @see $_name
|
|
*/
|
|
public function setVarName($varName) {
|
|
$this->_varName = $varName;
|
|
return $this;
|
|
}
|
|
|
|
/**
|
|
* @inheritDoc
|
|
*/
|
|
public function getName() {
|
|
return $this->_name;
|
|
}
|
|
/**
|
|
* Définit le nom de l'argument.
|
|
*
|
|
* @param string $name Le nom
|
|
* @param boolean $replaceVarName Remplacer également le nom de la variable de retour ?
|
|
*
|
|
* @return $this
|
|
*
|
|
* @see $_name
|
|
*/
|
|
public function setName($name, $replaceVarName = true) {
|
|
$this->_name = $name;
|
|
if($replaceVarName)
|
|
$this->setVarName($name);
|
|
return $this;
|
|
}
|
|
|
|
/**
|
|
* @inheritDoc
|
|
*/
|
|
public function getDescription() {
|
|
return $this->_description;
|
|
}
|
|
/**
|
|
* Définit la description de l'argument.
|
|
*
|
|
* @param string|null $description La description
|
|
*
|
|
* @return $this
|
|
*
|
|
* @see $_description
|
|
*/
|
|
public function setDescription($description) {
|
|
$this->_description = $description;
|
|
return $this;
|
|
}
|
|
|
|
/**
|
|
* @inheritDoc
|
|
*/
|
|
public function getDefault() {
|
|
return $this->_default;
|
|
}
|
|
/**
|
|
* Définit le valeur par défaut
|
|
*
|
|
* @param mixed|null $default La valeur par défaut.
|
|
*
|
|
* @return $this
|
|
*
|
|
* @see $_default
|
|
*/
|
|
public function setDefault($default = null) {
|
|
$this->_default = $default;
|
|
return $this;
|
|
}
|
|
} |