La meilleure technique pour déboguer un programme PHP consiste à utiliser un débogueur.
Cependant, si vous n'avez pas accès à un IDE avec débogueur (PhpStorm - gratuit pour étudiants d'un établissement enregistré - et CodeLobster - gratuit pour tous - sont de bons exemples d'IDE offrant un débogueur) ou si un problème technique vous empêche d'utiliser le débogueur, la technique expliquée ici est une bonne solution de rechange.
Historiquement, les programmeurs PHP utilisaient des echo pour afficher de l'information de débogage.
Cependant, lors de la mise en ligne du programme, il pourrait arriver que des echo de débogage soient encore présents dans le code.
Ceci pourrait générer de l'affichage indésirable ou, pire encore, ouvrir un trou se sécurité.
C'est pourquoi il est préférable d'utiliser une fonction qui génère un echo seulement lorsqu'on est en mode développement.
Voici comment créer une telle fonction.
L'affichage n'aura lieu que si la constante DEVEL est définie et que sa valeur est à true.
/**
* Affiche une information de débogage seulement lorsque DEVEL est à true.
* @author Christiane Lagacé <christiane.lagace@hotmail.com>
*
* Utilisation : echo_debug($mysqli->error);
* Suppositions critiques : pour un meilleur affichage, définir la classe debug dans la feuille de style.
* @param String $message Information à afficher. Affichera "débogage" si ne reçoit aucun paramètre.
*/
function echo_debug($message = 'débogage') {
if (defined('DEVEL') && DEVEL === true) {
echo '<div class="debug">';
if (is_array($message) || is_object($message)) {
print_r($message);
}
else {
echo $message;
}
echo '</div>';
}
}
Dans votre feuille de style, définissez l'apparence de la classe debug, selon votre inspiration. Suggestion : afficher dans un rectangle aux coins arrondis, avec une couleur de fond qui constraste avec celle de votre contenu principal.
Voici un exemple pour l'apparence du message affiché en débogage.
Si cette apparence vous plaît, vous pouvez la reproduire à l'aide de ces règles CSS :.debug {
display: block;
background-color: #FCA12D;
color: black;
font-size: 1.1em;
padding-top: 5px;
padding-left: 10px;
padding-right: 10px;
padding-bottom: 5px;
border: 1px solid #F18A04;
border-radius: 5px;
margin: 15px 0;
}
require 'include/configuration.inc';
require_once 'include/ma-bibliotheque.php';
...
echo_debug("Valeur : $maVariable");
▼Publicité
Site fièrement hébergé chez A2 Hosting.