FUNCTION EMPÊCHANT LES ERREURS E-NOTICE

cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 - 14 mai 2005 à 17:38
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Derniè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.

https://codes-sources.commentcamarche.net/source/31377-function-empechant-les-erreurs-e-notice

malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
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és 67 Date d'inscription mercredi 2 juillet 2003 Statut Membre Derniè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és 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
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és 113 Date d'inscription vendredi 16 août 2002 Statut Membre Dernière intervention 15 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és 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
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és 113 Date d'inscription vendredi 16 août 2002 Statut Membre Dernière intervention 15 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és 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
15 mai 2005 à 18:12
bah le if est plus rapide que l'opérateur ternaire.
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
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és 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
15 mai 2005 à 17:46
heu tu t'es pas gourré de forum ?

if then c'est du VB ^^
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
15 mai 2005 à 17:12
c'est if then... seul l'écriture change....
cs_mfaraday Messages postés 144 Date d'inscription vendredi 18 avril 2003 Statut Membre Derniè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és 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
15 mai 2005 à 00:14
hum si tu veux
Jayadeva Messages postés 67 Date d'inscription mercredi 2 juillet 2003 Statut Membre Derniè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és 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
14 mai 2005 à 22:54
Le plus rapide est encore le couple if=>else
Jayadeva Messages postés 67 Date d'inscription mercredi 2 juillet 2003 Statut Membre Derniè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:

$mavar = (isset($_GET['mavar']) && !empty($_GET['mavar'])) ? $_GET['mavar'] : '' ;
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
14 mai 2005 à 17:38
Salut :-)

Un code similaire posté y'a pas longtemps ressemble exactement à celui-ci.

C'est simple mais efficace.