cs_Anthomicro
Messages postés9433Date d'inscriptionmardi 9 octobre 2001StatutMembreDernière intervention13 avril 2007
-
14 mai 2005 à 17:38
malalam
Messages postés10839Date d'inscriptionlundi 24 février 2003StatutMembreDernière intervention 2 mars 2010
-
16 mai 2005 à 12:20
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
malalam
Messages postés10839Date d'inscriptionlundi 24 février 2003StatutMembreDernière intervention 2 mars 201025 16 mai 2005 à 12:20
Hello,
suis d'accord avec cette derniere remarque. Rien a redire sur le code en lui-meme, mais je ne suis pas pour sa philosophie ;-)
Perso j'aime tester mes variables...parce que j'aime avoir le controle de ce que je vais faire si elle existe ou n'existe pas, ou n'est pas du type attendue etc...une fonction generique gerant ca...boaf. C'est bien plus clair, me semble t il, ce que l'on attend, quand on teste explicitement chaque variable. Si je mets un is_array (), et que je relis ce code qques mois plus tard (ou que qqu'un d'autre lit ce code), j'aurais une petite idee de ce que j'attendais... ;-)
Bref, jamais compris les @ et les anti E_ALL, personnellement.
Jayadeva
Messages postés67Date d'inscriptionmercredi 2 juillet 2003StatutMembreDernière intervention 1 septembre 2008 16 mai 2005 à 11:10
Il est vrai que les hebergeurs courant n'affiche pas les notices. Pourtant quand tu développe il est conseiller de les voir, ca te permet de trouver ce qui ne va pas dans ton code.
Ca aide vraiment :)
Je trouve cette source quelques peux... innutile :)
cs_Anthomicro
Messages postés9433Date d'inscriptionmardi 9 octobre 2001StatutMembreDernière intervention13 avril 20078 15 mai 2005 à 22:46
" Pas plus qu'une modification de configuration afin de ne pas montrer les notices de cet ordre la"
J'ai jamais dit le contraire...
Ta solution et la solution de masquer les notices se valent (malheureusement dans le mauvais sens...) lol
cs_Cyrille2
Messages postés113Date d'inscriptionvendredi 16 août 2002StatutMembreDernière intervention15 mai 2005 15 mai 2005 à 22:41
Pas plus qu'une modification de configuration afin de ne pas montrer les notices de cet ordre la... D'autant plus que les hébergeurs courant (pro ou non) sont généralement configurés pour ne pas relever ce type d'erreurs. En tout cas, je traite couramment avec des hébergeurs pros et j'ai eu l'occasion de tester ce genre de choses (entre autres sivit,cornut,xelacom pour ne pas les citer)!
Le seul inconvénient de l'opérateur @ est de ne pas donner d'indication si l'erreur non affichée générait une sortie de script... Mais si l'on sait taper un nom de variable, tout devrait aller. lol
cs_Anthomicro
Messages postés9433Date d'inscriptionmardi 9 octobre 2001StatutMembreDernière intervention13 avril 20078 15 mai 2005 à 20:46
tu dois utiliser isset pour vérifier si ta variable existe, le @ c'est du bricolage dans le cas présent.
cs_Cyrille2
Messages postés113Date d'inscriptionvendredi 16 août 2002StatutMembreDernière intervention15 mai 2005 15 mai 2005 à 19:31
Et l'utilisation de @ ? plus simple, non ? pas d'alternative c'est sur, mais evite les messages d'erreurs...
$mavar = @$mavar; ou directement mafunction(@$mavar);
NB :
$a = @array($v1,$v2); //plus clean et simple que:
$a = array(@$v1,@$v2);
cs_Anthomicro
Messages postés9433Date d'inscriptionmardi 9 octobre 2001StatutMembreDernière intervention13 avril 20078 15 mai 2005 à 18:12
bah le if est plus rapide que l'opérateur ternaire.
coucou747
Messages postés12303Date d'inscriptionmardi 10 février 2004StatutMembreDernière intervention30 juillet 201244 15 mai 2005 à 17:59
je faisais une comparaisons de des deux commentaires :
Commentaire de : Anthomicro le 14/05/2005 22:54:27Envoyer un message à Anthomicro
Commentaire de : Jayadeva le 14/05/2005 22:42:17
et disais seulement que (condition)?valeur_si_vrai:valeur_si_faux c'est un simple if=>else... J'ai mis le then car pour moi, il est représenté dans le { qu'on met après un if, même si ce n'est pas tout à fait vrai...
cs_Anthomicro
Messages postés9433Date d'inscriptionmardi 9 octobre 2001StatutMembreDernière intervention13 avril 20078 15 mai 2005 à 17:46
heu tu t'es pas gourré de forum ?
if then c'est du VB ^^
coucou747
Messages postés12303Date d'inscriptionmardi 10 février 2004StatutMembreDernière intervention30 juillet 201244 15 mai 2005 à 17:12
c'est if then... seul l'écriture change....
cs_mfaraday
Messages postés144Date d'inscriptionvendredi 18 avril 2003StatutMembreDernière intervention 4 janvier 2010 15 mai 2005 à 02:11
Bonsoir,
En fait l'idée de cette fonction m'est venue en regardant une source développée sur un autre site ou l'auteru incluait un fichier de test de ses variables du gensre if(isset($var)||$var!='')... sur une cinquantaine de lignes. Je me suis dis que créer une fonction de test (simple) et l'appliquer à mes varaibles rendrait mon code plus lisible.
Je suis pas très sur que l'utilisation d'une fonction rende le temps d'exécution du script plus lent.
Et enfin l'utilisation de
condition ? valeur si vrai : valeur si faux;
équivaut à
if(condition) {valeur si vrai; } else {valeur si faux; }
enfin pour des test simple (d'aprés ce que j'ai vu dans nombres de bouquins et sur nombre de sites)
Florian
cs_Anthomicro
Messages postés9433Date d'inscriptionmardi 9 octobre 2001StatutMembreDernière intervention13 avril 20078 15 mai 2005 à 00:14
hum si tu veux
Jayadeva
Messages postés67Date d'inscriptionmercredi 2 juillet 2003StatutMembreDernière intervention 1 septembre 2008 14 mai 2005 à 23:06
Mais c'est plus long a coder. Puis de toute manière, ce n'est que des millièmes de secondes donc pas la peine de palabrer sur le sujet.
Aussi, quand je dit plus rapide, je parle du temps pour le taper :p
"J'ai raison ta tord"(tm)
cs_Anthomicro
Messages postés9433Date d'inscriptionmardi 9 octobre 2001StatutMembreDernière intervention13 avril 20078 14 mai 2005 à 22:54
Le plus rapide est encore le couple if=>else
Jayadeva
Messages postés67Date d'inscriptionmercredi 2 juillet 2003StatutMembreDernière intervention 1 septembre 2008 14 mai 2005 à 22:42
$mavar = (isset($mavar)) ? $mavar : '' ;
plus simple, plus rapide... et prend moin de place.
Peut être utiliser sous cette forme:
16 mai 2005 à 12:20
suis d'accord avec cette derniere remarque. Rien a redire sur le code en lui-meme, mais je ne suis pas pour sa philosophie ;-)
Perso j'aime tester mes variables...parce que j'aime avoir le controle de ce que je vais faire si elle existe ou n'existe pas, ou n'est pas du type attendue etc...une fonction generique gerant ca...boaf. C'est bien plus clair, me semble t il, ce que l'on attend, quand on teste explicitement chaque variable. Si je mets un is_array (), et que je relis ce code qques mois plus tard (ou que qqu'un d'autre lit ce code), j'aurais une petite idee de ce que j'attendais... ;-)
Bref, jamais compris les @ et les anti E_ALL, personnellement.
16 mai 2005 à 11:10
Ca aide vraiment :)
Je trouve cette source quelques peux... innutile :)
15 mai 2005 à 22:46
J'ai jamais dit le contraire...
Ta solution et la solution de masquer les notices se valent (malheureusement dans le mauvais sens...) lol
15 mai 2005 à 22:41
Le seul inconvénient de l'opérateur @ est de ne pas donner d'indication si l'erreur non affichée générait une sortie de script... Mais si l'on sait taper un nom de variable, tout devrait aller. lol
15 mai 2005 à 20:46
15 mai 2005 à 19:31
$mavar = @$mavar; ou directement mafunction(@$mavar);
NB :
$a = @array($v1,$v2); //plus clean et simple que:
$a = array(@$v1,@$v2);
15 mai 2005 à 18:12
15 mai 2005 à 17:59
Commentaire de : Anthomicro le 14/05/2005 22:54:27Envoyer un message à Anthomicro
Commentaire de : Jayadeva le 14/05/2005 22:42:17
et disais seulement que (condition)?valeur_si_vrai:valeur_si_faux c'est un simple if=>else... J'ai mis le then car pour moi, il est représenté dans le { qu'on met après un if, même si ce n'est pas tout à fait vrai...
15 mai 2005 à 17:46
if then c'est du VB ^^
15 mai 2005 à 17:12
15 mai 2005 à 02:11
En fait l'idée de cette fonction m'est venue en regardant une source développée sur un autre site ou l'auteru incluait un fichier de test de ses variables du gensre if(isset($var)||$var!='')... sur une cinquantaine de lignes. Je me suis dis que créer une fonction de test (simple) et l'appliquer à mes varaibles rendrait mon code plus lisible.
Je suis pas très sur que l'utilisation d'une fonction rende le temps d'exécution du script plus lent.
Et enfin l'utilisation de
condition ? valeur si vrai : valeur si faux;
équivaut à
if(condition) {valeur si vrai; } else {valeur si faux; }
enfin pour des test simple (d'aprés ce que j'ai vu dans nombres de bouquins et sur nombre de sites)
Florian
15 mai 2005 à 00:14
14 mai 2005 à 23:06
Aussi, quand je dit plus rapide, je parle du temps pour le taper :p
"J'ai raison ta tord"(tm)
14 mai 2005 à 22:54
14 mai 2005 à 22:42
plus simple, plus rapide... et prend moin de place.
Peut être utiliser sous cette forme:
$mavar = (isset($_GET['mavar']) && !empty($_GET['mavar'])) ? $_GET['mavar'] : '' ;
14 mai 2005 à 17:38
Un code similaire posté y'a pas longtemps ressemble exactement à celui-ci.
C'est simple mais efficace.