/** * Retourne une liste composée du nombre d'items précisé en paramètre. * * @param integer $iMinCount Si $iMaxCount vaut 0, $iMinCount est le nombre précis d'items à retourner ; sinon le nombre minimum. * @param integer $iMaxCount Nombre maximum d'items à retourner. * @return string Liste. * @throws \Exception */ public function listItems($iMinCount, $iMaxCount = 0) { if (!is_int($iMinCount) || !is_int($iMaxCount)) { throw ExceptionType::invalidArgument("Argument #1 et #2 doivent être des entiers.", Exception::FROM_GENERATOR); } $aItems = array(); // Si aucun nombre max n'est fourni, on remplit le tableau avec le nombre exact de mots minimum if ($iMaxCount <= 0) { for ($i = 0; $i < $iMinCount; $i++) { $aItems[] = $this->words(1, 5); } } else { if ($iMaxCount < $iMinCount) { throw ExceptionType::range("Argument #2 doit être supérieur à argument #1.", Exception::FROM_GENERATOR); } // On remplit le tableau avec un nombre aléatoire de mots entre le nombre minimum et maximum $iVarCount = mt_rand($iMinCount, $iMaxCount); for ($i = 0; $i < $iVarCount; $i++) { $aItems[] = $this->words(1, 5); } } if ($this->_cType === InterfaceText::PLAIN) { return ' - ' . implode("\n - ", $aItems); } return "<ul>\n\t<li>" . implode("</li>\n\t<li>", $aItems) . "</li>\n</ul>"; }