Éviter les erreurs fréquentes dans un code PHP

Tous les développeurs en PHP ont dû voir au moins une fois la ligne suivante lorsqu'ils ont exécuté leur programme :

Parse error: parse error in c:mestests.php on line 4

C'est une façon pour le PHP de vous dire que vous avez fait une erreur et qu'il ne peut pas interpréter le reste du programme. Ensuite, quand on va à la ligne de l'erreur, on s'aperçoit que la ligne est vide ! L'une des raisons est que l'erreur s'est produite avant cette ligne et que le reste du processus est devenu incohérent. La première erreur, mais aussi la plus fréquente est l'oubli des points-virgules à la fin d'une déclaration :

$calcul = 100
echo $test;

Le point-virgule dit au PHP que c'est la fin de la déclaration et si vous l'omettez, il va continuer à interpréter le reste du code provoquant un chevauchement des fonctions et donc un plantage de l'application. La seconde erreur est de confondre le signe égal avec celui de la comparaison tel que :

$calcul= 1;
while ( $calcul = 10 )
{
$test++;
}

Cette erreur est vicieuse, car on ne la détecte pas du premier coup, mais en fait, on doit utiliser le signe double de l'égal (==). Un simple égal équivaut à une création de variable et de sa valeur.

Les erreurs de noms et des guillemets


Les variables PHP doivent respecter la casse et il arrive qu'on mélange les lettres en minuscules et majuscules. Reprenons notre code précédent :

$calcul= 1;
while ( $Calcul == 10 )
{
$test++;
}

Cette fois, nous utilisons le bon signe de comparaison, mais nous avons mis Calcul au lieu de calcul. C'est pourquoi une bonne pratique est d'utiliser deux mots pour une variable afin de réduire ce type d'erreurs. Si vous avez beaucoup de messages sur Parse Error alors c'est peut-être parce que vous avez oublié le signe du dollar avant chaque variable. Il faut vérifier soigneusement, car on a tendance à survoler les variables sans les étudier.

Les développeurs en PHP s'arrachent les cheveux dans la gestion des guillemets. Mais on n'a que deux problèmes, soit on a mis trop de guillemets, soit pas assez. Ainsi, le code qui suit :

$addition= ?