begin process at 2010 02 10 06:19:52
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Astuces

 > FUNCTION EMPÊCHANT LES ERREURS E-NOTICE

FUNCTION EMPÊCHANT LES ERREURS E-NOTICE


 Information sur la source

Note :
3,75 / 10 - par 4 personnes
3,75 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Astuces Niveau :Débutant Date de création :14/05/2005 Vu :2 003

Auteur : mfaraday

Ecrire un message privé
Commentaire sur cette source (16)
Ajouter un commentaire et/ou une note

 Description

Pour ceux qui comme moi en ont assez de tester leur variables... une petite fonction qui me permet d'éclaicir mon code.

Source

  • <?php
  • // fonction empêchant les erreurs e-notice
  • function notice($pgsvar, $vide="")
  • {
  • return !isset($pgsvar) ? $vide : $pgsvar;
  • }
  • /**********
  • return !isset($pgsvar) ? $vide : $pgsvar;
  • Equivaut à
  • if(!isset($pgsvar)
  • { $mavar = $vide ; }
  • else
  • { $mavar = $pgsvar ; }
  • return $mavar;
  • **********/
<?php
// fonction empêchant les erreurs e-notice
function notice($pgsvar, $vide="")
    {
    return !isset($pgsvar) ? $vide : $pgsvar;
    }

/**********
    return !isset($pgsvar) ? $vide : $pgsvar;

      Equivaut à

    if(!isset($pgsvar)
        { $mavar = $vide ; }
    else
        { $mavar = $pgsvar ; }
    return $mavar;
**********/

 Conclusion

$pgsvar : autrement dit ma variable $_POST[], $_GET[] ou $_SESSION[]
$vide : la variable à retourner au cas ou...

Pour utiliser la fonction, rien de plus simple :
$var = notice($_POST['var']);
$var = notice($_SESSION['var'], '123');

N'hésitez pas si vous avez des améliorations...

Florian


 Sources du même auteur

Source avec Zip Source avec une capture CALENDRIER SIMPLE MAIS JOLI... V2.0

 Sources de la même categorie

Source avec une capture PAGINATION EN PHP par Orangina
Source avec Zip POO - DEBUGGER par DiGhan
Source avec Zip CRAWLER DE SITE EN PHP par Mcjo
DÉCOUPAGE D'UN TEXTE EN FONCTION DES SAUTS DE LIGNES par biloubil
RÉCUPÉRER LE CHEMIN RELATIF D'UN OBJET PAR RAPPORT À LA RACI... par FredPsy

Commentaires et avis

Commentaire de Anthomicro le 14/05/2005 17:38:43

Salut :-)

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

C'est simple mais efficace.

Commentaire de Jayadeva le 14/05/2005 22:42:17

$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'] : '' ;

Commentaire de Anthomicro le 14/05/2005 22:54:27

Le plus rapide est encore le couple if=>else

Commentaire de Jayadeva le 14/05/2005 23:06:16

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)

Commentaire de Anthomicro le 15/05/2005 00:14:25

hum si tu veux

Commentaire de mfaraday le 15/05/2005 02:11:35

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

Commentaire de coucou747 le 15/05/2005 17:12:47


c'est if then... seul l'écriture change....

Commentaire de Anthomicro le 15/05/2005 17:46:11

heu tu t'es pas gourré de forum ?

if then c'est du VB ^^

Commentaire de coucou747 le 15/05/2005 17:59:17

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...

Commentaire de Anthomicro le 15/05/2005 18:12:05

bah le if est plus rapide que l'opérateur ternaire.

Commentaire de Cyrille2 le 15/05/2005 19:31:46 administrateur CS

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);

Commentaire de Anthomicro le 15/05/2005 20:46:37

tu dois utiliser isset pour vérifier si ta variable existe, le @ c'est du bricolage dans le cas présent.

Commentaire de Cyrille2 le 15/05/2005 22:41:17 administrateur CS

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

Commentaire de Anthomicro le 15/05/2005 22:46:52

" 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

Commentaire de Jayadeva le 16/05/2005 11:10:28

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 :)

Commentaire de malalam le 16/05/2005 12:20:04 administrateur CS

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.

 Ajouter un commentaire




Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,671 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales