Justement, cette convention d'écriture (puisqu'il s'agit bien de cela) permet de ne pas se tromper entre "=" et "==".
Il ne s'agit pas d'inverser volontairement les deux, mais quand tu codes de longues heures, il est vite fait de taper "=" au lieu de "==", et je peux te dire que tu rames ensuite pour trouver pourquoi ton script ne fait pas ce qu'il devrait faire.
Si tu tapes :
if ($variable = 5) {...}
Ta condition sera toujours vraie parce que l'affectation fonctionnera.
Si tu tapes :
if (5 = $variable) {...}
Tu auras une erreur de syntaxe et tu verras tout de suite l'erreur.
A+
Gilles
Dom2167 a écrit:
sauf que l'opérateur de comparaison en php est == et non = déjà
Et d'autre part, je suis plus lisible de mettre if ($variable ==10) que if (10==$variable)...après, c'est juste une question d'habitude.
C'est pour ça aussi qu'il est bien d'utiliser (dans certains cas attention) l'opérateur de comparaison typé "===", ça permet aussi de passer outre ce genre inattention
Justement, cette convention d'écriture (puisqu'il s'agit bien de cela) permet de ne pas se tromper entre "=" et "==".
Il ne s'agit pas d'inverser volontairement les deux, mais quand tu codes de longues heures, il est vite fait de taper "=" au lieu de "==", et je peux te dire que tu rames ensuite pour trouver pourquoi ton script ne fait pas ce qu'il devrait faire.
Si tu tapes :
if ($variable = 5) {...}
Ta condition sera toujours vraie parce que l'affectation fonctionnera.
Si tu tapes :
if (5 = $variable) {...}
Tu auras une erreur de syntaxe et tu verras tout de suite l'erreur.
A+
Gilles
Dom2167 a écrit:
sauf que l'opérateur de comparaison en php est == et non = déjà
Et d'autre part, je suis plus lisible de mettre if ($variable ==10) que if (10==$variable)...après, c'est juste une question d'habitude.
je vois, je vois...
accessoirement, tu t'étais trompé dans l'autre poste ou tu proposait cette façon d'écrire.
ceci dit, quand tu oublies un ";" ça bug aussi...
et parfois, tu as même une erreur de ligne d'erreur à 0
Oui je peux faire un lien vers le cours, mais dans peu de temps maintenant les vidéos vont se retrouver dans le cours existant donc ça ne servira pas très longtemps. On va plutôt fonctionner en sens inverse.
En attendant, la lisibilité pour les gens qui sont là pour tout apprendre est affaibli.
Je pense que pour tout apprendre, mieux vaut chercher un peu plutôt qu'avoir du "tout cuit".
Le cours étant très bien découpé en chapitres très clairs, ça ne fait pas de mal de réviser un peu en le lisant, au contraire, et surtout pour les débutants (dont je suis).
Habitude ou non, dans certain cas, tu dois te plier à certaines "règles". Je m'éloigne peut être du sujet principal ici, mais dans le cas ou tu veux utiliser un projet avec composer, si tu es dépendant de son autoloader pour tes classes, si tu ne suis pas la norme PSR1/2, tu risque d'avoir des surprises.
Après, oui, il y a des habitude de codage, mais des fois elles signifies réellement quelque chose
A un bémol près, c'est que tu ne veux pas forcément comparer le type des deux variables.
$var1 = '5';
$var2 = 5;
if ($var1 == $var2) {...}
if ($var1 === $var2) {...}
La première condition sera vraie, pas la seconde.
A+
Gilles
Thiphariel a écrit:
C'est pour ça aussi qu'il est bien d'utiliser (dans certains cas attention) l'opérateur de comparaison typé "===", ça permet aussi de passer outre ce genre inattention
A un bémol près, c'est que tu ne veux pas forcément comparer le type des deux variables.
$var1 = '5';
$var2 = 5;
if ($var1 == $var2) {...}
if ($var1 === $var2) {...}
La première condition sera vraie, pas la seconde.
A+
Gilles
Thiphariel a écrit:
C'est pour ça aussi qu'il est bien d'utiliser (dans certains cas attention) l'opérateur de comparaison typé "===", ça permet aussi de passer outre ce genre inattention
D'ou le "dans cetains cas attention" !
Il est vrai qu'un langage non typé est agrable dans certains cas, mais dans d'autres on peut se tirer les cheveux à en devenir chauve, mais c'est le jeu !
Oui je peux faire un lien vers le cours, mais dans peu de temps maintenant les vidéos vont se retrouver dans le cours existant donc ça ne servira pas très longtemps. On va plutôt fonctionner en sens inverse.
En attendant, la lisibilité pour les gens qui sont là pour tout apprendre est affaibli.
Je pense que pour tout apprendre, mieux vaut chercher un peu plutôt qu'avoir du "tout cuit".
Le cours étant très bien découpé en chapitres très clairs, ça ne fait pas de mal de réviser un peu en le lisant, au contraire, et surtout pour les débutants (dont je suis).
en ce qui me concerne, je trouve que les deux sont complémentaires et je trouve bien aussi de les avoir à des endroits différents comme c'est le cas. Perso, j'ai commencé par suivre le cours en ligne et j'attendais avec impatience le mooc pour revoir, vérifier, évaluer etc...
En tout cas merci pour le "truc" (TEXMAN) et son explication (gfevrier), c'est vrai que je me suis plusieurs fois cassé les dents à chercher pourquoi mon "if =" ne fonctionnait pas !
En fait, il fonctionne très bien, c'est juste que la condition est toujours vraie.
grozvach a écrit:
En tout cas merci pour le "truc" (TEXMAN) et son explication (gfevrier), c'est vrai que je me suis plusieurs fois cassé les dents à chercher pourquoi mon "if =" ne fonctionnait pas !
J'ai un souci, j'ai installer MAMP sur mon Mac et lorsque je lance le démarrage des serveurs aucun ne se met en route ou alors que les serveurs MySQL. Je pense que cela n'est pas normal...
J'ai un souci, j'ai installer MAMP sur mon Mac et lorsque je lance le démarrage des serveurs aucun ne se met en route ou alors que les serveurs MySQL. Je pense que cela n'est pas normal...
Vérifie qu'aucun autre programme n'utilise le port associé à Apache. Peut être Skype ? Il me semble que MAMP utilise le port 8888 par défaut ? Essaye de le modifier directement (Souvent sur Windows, ce problème est récurrent, Skype utilise le port 80 par défaut...). Peut être qu'un utilisateur confirmé Mac OS pourra te donner un coup de main rapide
Tu as essayé de changer le port d'apache sur mamp (il faut que se soit le même que sur l'url de ton navigateur). Sinon vérifie que tu es bien sur une session administrateur et que tu possèdes le mot de passe.
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
Dominique SAUVIGNON
Dominique SAUVIGNON
Dominique SAUVIGNON
Dominique SAUVIGNON
Dominique SAUVIGNON