Les bienfaits des tests de variable en PHP

Développement web
Tags: #PHP

J'ai fait ce billet pour deux raisons principales :

  1. avoir un coup de gueule auprès des personnes qui ne sont pas capable de mettre en place leur test de variables
  2. montrer quelques exemples simples pour éviter des erreurs Notice ou Warning en PHP.

Avant tout, la première chose à faire est d'effectuer ses développements avec le niveau le plus haut d'erreur E_ALL. Très souvent cela indique énormément d'erreur mais la contre partie est que l'on aura par la suite moins de problème d'erreur et de compréhension au niveau du code.

Premier exemple que je rencontre très régulièrement : la non initialisation d'une clé d'un tableau. Ce type d'erreur se voit par un Notice :

Notice: Undefined index 'champ' in 'fichier.php' on line 10

Ce type d'erreur est très simple à corriger. J'utilise pour ma part la fonction isset(). Cela donne le bout de code suivant :

if (isset($tableau['champ'])) {
traitement normal
} else {
on assigne une valeur par défaut

}

On peut appliquer le même type de traitement pour les données des variables \$_GET, \$_POST, ...

Le second exemple concerne plus la sécurisation des données venant provenant des formulaires et / ou URL pour valider en utilisant les expressions régulières. Mais ce second exemple fera l'objet d'un prochain billet.