SP:Composant:Debug

De Hegyd Doc.


Sommaire

[modifier] Debug

Le composant debug permet de debugger plus aisement le code en proposant de tracer les différentes opérations effectuées sur un script.

Implémenté sur toutes les classes métiers dédiées à l'éditeur.

Utilise la base de la classe Debug du framework V2.

[modifier] Implémentation

La classe Debug gère l'ensemble des fonctionnalités du composant.

[modifier] Activation

Le debug est activé dans le cas ou la variable de configuration DEBUG est a true, et que la variable de context clean ne vaut pas 1 (peut être passé en paramètre d'URL).

[modifier] Fonctionnement

Chaque fonction appelable depuis l'object debug se fera selon la syntaxe statique Debug::{method}({args});, et est accessible partout. Aucune initialisation n'est nécessaire au préalable, hormis la configuration qui permet d'activer ou non le debug.

[modifier] Tracer les opération effectuées

3 fonctions permettent de tracer les opérations effectuées, montrées dans l'exemple suivant:

Exemple:

        public function deployFromSite($siteClientId)
        {
                global $db;
                Debug::setClass("SiteClient"); //definit la classe
                Debug::setFunction("deployFromSite"); //defini la fonction
                Debug::trace("deploy content from site (siteClientId)".$siteClientId); // trace qui défini le message
                ...
        }

Le trio n'est pas obligatoire, mais sert a mieux cibler l'opération effectuée (classe, méthode).

La fonction Debug::trace prends n'importe quel type d'argument en paramètre: un tableau, un objet, une chaine de caractères.

[modifier] Afficher la pile d'élements

Si le mode est activé, il est possible d'afficher directement la pile de message dans le format souhaité: HTML pour une page web, text pour des scripts de type cron avec la fonction Debug::getTrace(). Pour ce faire il suffit d'utiliser la fonction Debug::setOutputHTML(true/false) pour activer ou non le format de sortie HTML.

[modifier] Utilisation

  • S'averera très utile pour avoir un apercu des opérations effectuées par un script donné, es voir on ca coince en cas de problème.
  • Utile aussi pour géénérer des rapports de CRON qui pourront être envoyé par mail par la suite.