setValues($values); } public function parseValue ($arg) { if(!in_array($arg, $this->_values)) throw new InvalidArgument($arg, 'La valeur ne fait partie de liste des valeurs autorisées : '.implode(', ', $this->getValues())); return $arg; } public function getValueDescription () { return 'enum('.implode(',', $this->getValues()).')'; } /** * La liste des valeurs autoriséees. * * @return string[] La liste des valeurs * * @see $_values */ public function getValues() { return $this->_values; } /** * Définit la liste des valeurs autorisées. * * @param string[] $values La liste des valeurs * * @return $this * * @throws InvalidArgument Si la liste n'est pas un tableau ou si celui-ci est vide * * @see $_values */ public function setValues($values) { if(!is_array($values)) throw new InvalidArgument($values, 'La liste de valeurs n\'est pas un tableau'); if(count($values) == 0) throw new InvalidArgument($values, 'La liste de valeurs doit avoir au moins un élément'); $this->_values = $values; return $this; } }