Overblog
Editer l'article Suivre ce blog Administration + Créer mon blog
12 janvier 2010 2 12 /01 /janvier /2010 21:47

Le problème


Quand on écrit un test logique, dans un if par exemple, la plupart d'entre nous va l'écrire de la façon la plus natuelle du monde : comme ça lui vient. C'est on ne peut plus normal d'écrire le code suivant :


if($variable == 'valeur'){
//faire des choses
}



Jusque là tout va bien. Sauf que parfois, même si c'est ce bout de code auquel on pense, nos doigts décident de tenter une révolte et de n'en faire qu'à leur tête (même si, techniquement, ils n'ont pas de tête) et on se retrouve avec ce code ci à la place :

if($variable = 'valeur'){
//faire des choses
}


Et là, c'est plus du tout pareil. Un seul signe '=' à la place de deux et le comportement ne correspond plus. Il arrive même, que celui à qui ce n'est jamais arrivé jette la première pierre, qu'on s'arrache les cheuveux à chercher l'erreur avant le if en se demandant comment notre variable peut bien contenir cette valeur.


La Solution


La solution à ce problème est simple. Elle demande un petit effort car pas forcement naturelle mais en un rien de temps ça devient une habitude. Il suffit simplement d'inverser les éléments de la comparaison :


if(
'valeur' == $variable){
//faire des choses
}

Dans ce cas, si un des deux '=' est oublié, PhP lui même vous signalera l'erreur. Puisqu'il n'est pas possible d'assigner une valeur à 'valeur', une erreur se déclanchera vous indiquant à quelle ligne corriger.

Evidemment ça ne marche pas dans le cas ou vous comparez une variable avec une autre mais ça réduit déjà un peu le champ des erreurs.
Partager cet article
Repost0

commentaires

Présentation

  • : Carnet de route d'un développeur PhP...
  • : Ah ! Une description... Ben en fait je me disais que j'allais faire un blog depuis longtemps, sauf que c'était juste pour y stocker des trucs pour moi, des espèces de post-it virtuels. Bon tant qu'à faire autant qu'il te profite à toi aussi.
  • Contact

Recherche

Liens