/opt/lampp/bin/php cli.php mon_script -a test * * @author Jean-Pascal MILCENT * @copyright Copyright (c) 2010, Tela Botanica (accueil@tela-botanica.org) * @license http://www.gnu.org/licenses/gpl.html Licence GNU-GPL-v3 * @license http://www.cecill.info/licences/Licence_CeCILL_V2-fr.txt Licence CECILL-v2 * @version $Id$ */ class MonScript extends Script { protected $parametres_autorises = array( '-y' => array(false, 'exemple de valeur par défaut', 'Un parametre supplémentaire de test')); public function executer() { // Récupération de paramêtres // Lancement de l'action demandée $cmd = $this->getParametre('a'); switch ($cmd) { case 'test' : $this->executerTest(); break; default : $this->traiterErreur('Erreur : la commande "%s" n\'existe pas!', array($cmd)); } } private function executerTest() { print('Config: '.Config::get('param1')."\n"); $this->traiterErreur("Un msg d'%s", array('erreur')); $this->traiterErreur("Un msg d'erreur sans paramètre"); $this->traiterAvertissement("Un msg d'%s", array('avertissement')); $this->traiterAvertissement("Un msg d'avertissement sans paramètre"); $this->traiterInfo("Un msg d'%s", array('info')); $this->traiterInfo("Un msg d'info sans paramètre"); echo $this->formaterMsg("Un msg %s", array('formaté')); echo $this->formaterMsg("Le parametre y : %s", array($this->getParametre('y'))); // Test de l'affichage de l'avancement dans une boucle en partant de 1 $ma_liste = array(); for ($i = 0; $i < 1000; $i++) { $ma_liste[] = $i; for ($j = 0; $j < 100; $j++) { $ma_liste[] = "$i-$j"; // 1 seule boucle peut être affichée } $this->afficherAvancement("Afficher de l'avancement de la boucle for", 1); } echo "\n"; // Test de l'affichage de l'avancement dans une boucle en partant par défaut de 0 foreach ($ma_liste as $cle => $valeur) { $this->afficherAvancement("Afficher de l'avancement de la boucle foreach"); } echo "\n"; print("test réussi!\n"); } } ?>