IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

[Système] Deux questions sur PHP


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé

    Homme Profil pro
    Developpeur web
    Inscrit en
    Septembre 2006
    Messages
    225
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : Belgique

    Informations professionnelles :
    Activité : Developpeur web
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2006
    Messages : 225
    Par défaut [Système] Deux questions sur PHP
    Bonjour, j'ai deux questions à vous posez :

    Lorsqu'on utilise le gestionnaire d'erreur (set_error_handler) et qu'on récupère l'argument "error_context", quelle est la différence entre ce tableau et le tableau $GLOBALS ?

    Dans un gestionnaire d'erreur, il y a t-il moyen de retrouver la ligne ou l'erreur s'est produite dans le fichier parent ?

    Ex: Vous avez une erreur dans index.php parce vous utilisez une fonction se trouvant dans un fichier inclus et l'erreur vous indique le fichier de fonction ou l'erreur s'est produite, ainsi que la ligne, mais pas l'endroit dans le fichier index..

    Merci de votre aide..

  2. #2
    Rédacteur

    Avatar de Yogui
    Homme Profil pro
    Directeur technique
    Inscrit en
    Février 2004
    Messages
    13 721
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Février 2004
    Messages : 13 721
    Par défaut
    Salut

    Tout droit tirée de la doc PHP, voici la déclaration de la fonction utilisateur de gestion d'erreur :
    handler ( int errno, string errstr [, string errfile [, int errline [, array errcontext]]] )
    Bien sûr, "handler" est à remplacer par le nom de ta fonction.

    Je ne comprends donc pas ta question sur le contexte, dans la mesure où cet argument (errcontext) est situé en 5° position, après l'argument errline (4° position) que tu cherches à obtenir. Si tu utilises le contexte, alors tu devrais également obtenir le numéro de ligne, n'est-ce pas ?

    La différence entre $GLOBALS et errcontext est une question de scope (alias visibilité des variables) : l'une référence toutes les variables que le script a connu jusque-là, tandis que l'autre ne référence que les variables localement accessibles au moment de l'erreur. Cela n'a d'impact que si l'erreur est générée depuis l'intérieur d'une fonction ou bien d'une méthode d'un objet.

    Nous sommes en train de préparer une série d'articles sur le thème de la gestion d'erreurs en PHP, si tu peux patienter quelque temps.


  3. #3
    Membre éclairé

    Homme Profil pro
    Developpeur web
    Inscrit en
    Septembre 2006
    Messages
    225
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : Belgique

    Informations professionnelles :
    Activité : Developpeur web
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2006
    Messages : 225
    Par défaut
    Merci, mais pour la ligne, je sais bien que j'ai le numéro de ligne mais c'est le numéro de ligne dans le fichier inclus et pas dans le fichier parent (qui inclus ce fichier, si dans ce fichier la même fonction est utilisée plusieurs fois à différents endroits du script) que je souhaiterais obtenir..

    Merci

  4. #4
    Rédacteur

    Avatar de Yogui
    Homme Profil pro
    Directeur technique
    Inscrit en
    Février 2004
    Messages
    13 721
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Février 2004
    Messages : 13 721
    Par défaut
    En ce cas, utilise la constante __LINE__

  5. #5
    Membre éclairé

    Homme Profil pro
    Developpeur web
    Inscrit en
    Septembre 2006
    Messages
    225
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : Belgique

    Informations professionnelles :
    Activité : Developpeur web
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2006
    Messages : 225
    Par défaut
    Ok, merci.

  6. #6
    Membre éclairé

    Homme Profil pro
    Developpeur web
    Inscrit en
    Septembre 2006
    Messages
    225
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : Belgique

    Informations professionnelles :
    Activité : Developpeur web
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2006
    Messages : 225
    Par défaut
    La constante ligne me retourne la ligne ou je crée le texte de l'erreur à mettre dans mon fichier journal..

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Système] 2 questions sur les chaines de charctères
    Par prologO dans le forum Langage
    Réponses: 15
    Dernier message: 22/10/2006, 16h53
  2. [SimpleXML] Question sur PHP
    Par JEE_JSE dans le forum Bibliothèques et frameworks
    Réponses: 8
    Dernier message: 17/10/2006, 20h45
  3. [HTML] Deux questions sur l'insertion d'icônes (favoris)
    Par LE NEINDRE dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 22/02/2006, 14h47
  4. [Débutant] Deux questions sur la conversion (cast)
    Par kloss dans le forum Langage
    Réponses: 7
    Dernier message: 18/02/2006, 19h46
  5. [Together] Deux questions sur Borland Together UML
    Par srvremi dans le forum Autres
    Réponses: 4
    Dernier message: 02/11/2005, 09h32

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo