Retour : page principale > sommaire applications générales > Documentation TBF
Le projet doit alors avoir l'arborescence de scripts CLI où le fichier cli.php appelle la classe Cli et les scripts (contenus dans les modules) implémentent la classe Script.
Pour lancer le script, il faut taper en ligne de commande /opt/lampp/bin/php cli.php mon_script -a test -v 3.
C'est une Singleton.
Le nom du module contenant la classe script doit ĂŞtre saisi en minuscule.
Le paramètre action -a est obligatoire pour tous les scripts, le paramètre verbeux -v est défini par défaut à 1. Si on veut définir d'autres paramètres, il faut ajouter dans le script un tableau $parametres_autorises, construit selon la forme suivante :
MSG_LOG = 0
MSG_ERREUR = 1
MSG_AVERTISSEMENT = 2
MSG_INFO = 3
Plusieurs fonctions permettent de créer des messages d'informations selon leur niveau d'importance.
Dans une boucle, la fonction afficherAvancement($message, [$depart]) prend en paramètres un message d'information et le nombre de départ à afficher et affiche le nombre de tour de boucle effectué.
private function executerTest() {
TBFramework - Cli & Script
Les classes Cli et Script sont utilisées lors de développement de code en lignes de commande.Le projet doit alors avoir l'arborescence de scripts CLI où le fichier cli.php appelle la classe Cli et les scripts (contenus dans les modules) implémentent la classe Script.
Pour lancer le script, il faut taper en ligne de commande /opt/lampp/bin/php cli.php mon_script -a test -v 3.
Cli
La classe Cli exécute la ligne de commande en récupérant le nom du script à lancer (mon_script) et ses paramètres ({'-a'=>'test', '-v'=>'1'}) afin d'instancier la classe de ce script et d'appeler sa méthode executer().C'est une Singleton.
Le nom du module contenant la classe script doit ĂŞtre saisi en minuscule.
Le paramètre action -a est obligatoire pour tous les scripts, le paramètre verbeux -v est défini par défaut à 1. Si on veut définir d'autres paramètres, il faut ajouter dans le script un tableau $parametres_autorises, construit selon la forme suivante :
- clé = nom du paramètre '-foo'
- value = contient un nouveau tableau composé de cette façon :
- booléen: true si le paramètre est obligatoire
- booléen ou var : true si le paramètre nécessite une valeur à sa suite ou la valeur par défaut
- string : description du contenu du paramètre
- '-y' => array(false, 'exemple de valeur par défaut', 'Un paramètre supplémentaire de test'));
Scripts
La classe Script est une classe abstraite.Paramètres de la ligne de commande
- La fonction getScriptNom() retourne le nom du script.
- La fonction getScriptChemin($doit_exister) prend en paramètre le booléen $doit_exister afin de tester si le script existe et retourne la cas échéant le chemin pour accéder au script.
- La fonction getParametre($parametre) prend en paramètre la clé d'un paramètre et retourne la valeur du paramètre demandée. ex. getParametre(-a) retourne test.
Affichage d'informations
Des constantes de niveaux d'informations sont définies dans la classe Script et on peut choisir le niveau à partir duquel on souhaite afficher ces informations dans la console à l'aide du paramètre -v (mode verbeux : 1, 2, 3) en ligne de commande. L'information est toujours écrite dans le fichier log.MSG_LOG = 0
MSG_ERREUR = 1
MSG_AVERTISSEMENT = 2
MSG_INFO = 3
Plusieurs fonctions permettent de créer des messages d'informations selon leur niveau d'importance.
- La fonction traiterErreur($message, [$tab_arguments]) prend en paramètres un message d'erreur avec des %s et un tableau des paramètres à insérer dans le message d'erreur. Elle affiche un message d'erreur formaté dans la console quand v >= 1.
- La fonction traiterAvertissement($message, [$tab_arguments]) prend en paramètres un message d'erreur avec des %s et un tableau des paramètres à insérer dans le message d'erreur. Elle affiche un message d'avertissement formaté dans la console quand v >= 2.
- La fonction traiterInfo($message, [$tab_arguments]) prend en paramètres un message d'erreur avec des %s et un tableau des paramètres à insérer dans le message d'erreur. Elle affiche un message d'avertissement formaté dans la console quand v >= 3.
Dans une boucle, la fonction afficherAvancement($message, [$depart]) prend en paramètres un message d'information et le nombre de départ à afficher et affiche le nombre de tour de boucle effectué.
private function executerTest() {
- /* Test de l'affichage des messages d'informations */
- print("test réussi!\n");
- 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";