setOptional($optional); } public function getOccurMin() { return $this->_occurMin; } /** * Définit le nombre minimum d'occurence. * * @param int $occurMin Le nombre minimum * * @return $this * * @throws InvalidArgument Si la valeur n'est pas un entier positif. * * @see $_occurMin */ public function setOccurMin($occurMin) { if (!is_numeric($occurMin)) throw new InvalidArgument($occurMin, 'La valeur n\'est pas un entier'); if (floor($occurMin) != $occurMin) throw new InvalidArgument($occurMin, 'La valeur n\'est pas un entier'); $int = (int)$occurMin; if($int < 0) throw new InvalidArgument($occurMin, 'La valeur n\'est pas un entier positif'); $this->_occurMin = $int; return $this; } /** * Définit si l'argument est facultatif ou non. * * @param bool $optional Argument facultatif ? * * @return $this */ public function setOptional($optional = false) { try { $this->setOccurMin($optional ? 0 : 1); } catch(InvalidArgument $e) {} return $this; } public function getOccurMax() { return $this->_occurMax; } /** * Définit le nombre mawimum d'occurence. * * @param int|null $occurMax Le nombre maximum * * @return $this * * @throws InvalidArgument Si la valeur n'est pas Null ou un entier strictement positif. * * @see $_occurMax */ public function setOccurMax($occurMax) { if (!is_null($occurMax)) { if (!is_numeric($occurMax)) throw new InvalidArgument($occurMax, 'La valeur n\'est pas un entier'); if (floor($occurMax) != $occurMax) throw new InvalidArgument($occurMax, 'La valeur n\'est pas un entier'); $occurMax = (int)$occurMax; if ($occurMax <= 0) throw new InvalidArgument($occurMax, 'La valeur n\'est pas un entier strictement positif'); } $this->_occurMax = $occurMax; return $this; } }