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 :

Gestion des erreurs / tracking de fonction


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Janvier 2007
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 13
    Par défaut Gestion des erreurs / tracking de fonction
    Bonjour,

    Après une recherche infructeuse sur nos amis les moteurs de recherche, je post ici pour savoir si il existe ou s'il est possible de lister ou tracker les appels de fonctions au sein des scripts PHP.

    En effet, actuellemnt je créer une classe de réécriture de log pour certain projets. Utilisant un framework particulier incluant de la gestion de flux et des librairies maison de gestion de context et mysql, il m'est parfois difficile de retrouver une erreur à partir des logs dans un script ou une classe.

    je voulais donc savoir si à partir de l'appel d'un script du type index.php, il était possible de retracer l'historique des appels de fonction (explicite ou implicite) depuis l'exécution, jusqu'a la génération de l'erreur ...

    Merci d'avance pour vos réponses ... N'hésitez pas à poster mes si ce ne sont que des pistes à suivre. Tout est bon à prendre.

  2. #2
    Membre Expert Avatar de darkstar123456
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2008
    Messages
    1 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mars 2008
    Messages : 1 895
    Par défaut
    hmmm tu as regardé du côté de l'Error Handling ?

    Si tu ne l'as pas fait, voici un petit lien explicatif : http://www.w3schools.com/php/php_error.asp

    Mais je ne pense pas que ça puisse afficher toutes les fonctions appellées, mais normalement les erreurs PHP doivent suffir

  3. #3
    Membre chevronné
    Profil pro
    Responsable de service informatique
    Inscrit en
    Septembre 2004
    Messages
    352
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Responsable de service informatique

    Informations forums :
    Inscription : Septembre 2004
    Messages : 352
    Par défaut
    Il y a une fonction pour ça : debug_print_backtrace

  4. #4
    Membre Expert Avatar de darkstar123456
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2008
    Messages
    1 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mars 2008
    Messages : 1 895
    Par défaut
    J'irai dodo moins bête encore une fois

    J'vais finir par être intelligent si ça continue !!!

  5. #5
    Membre averti
    Inscrit en
    Janvier 2007
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 13
    Par défaut
    merci pour vos réponse .

    tout d'abord oui j'ai regardé du coté d'error Handling, j' ai meme créer une classe entière pour la gestion de mes erreurs et la réécriture dans les log. (set_error_handler( "Error::initError")

    quand à la fonction debug_print_backtrace, je l'ai essayé. Mon seul problème est que : j'utilise de la gestion de flux, avec des ob_start(), ob_clean(), ob_flush() ... et que la fonction debug_print_backtrace ne me retourne alors que les include des différentes couches de flux et non pas toutes les fonctions appelées dans les différents flux.

    je m'explique :

    Cette fonction affiche un backtrace retourné par la fonction debug_backtrace(). Or on peut lire les caractéristiques du paramètre args de cette fonction : "args (type : array) Si à l'intérieur d'une fonction, ceci liste des arguments. Si dans un fichier inclus, ceci liste des fichiers inclus." ; comme je suis en gestion de flux, avec des include de chaque templates différents, la fonction me retourne que les nom des fichiers inclus.

    Citation Envoyé par darkstar123456 Voir le message
    Mais je ne pense pas que ça puisse afficher toutes les fonctions appellées, mais normalement les erreurs PHP doivent suffir
    --> Des fois les erreurs php sont insuffisantes et je passe énormément de temps à rechercher d'ou provient l'erreur. Par exemple, j'ai une classe entière dédié à la gestion des requete SQL. Lorsque je veux executé une requete dans l'un de mes model, je fait appel au fonction de cette classe. Si toutefois pour une raison X ou Y, la requete est pas bonne ou autre, l'erreur est générée dans ma classe MYSQL alors qu'elle provient de l'appel a cette classe dans une fonction d'un de mes models. C'est la fonction d'appel par exemple que j'aimerais connaitre pour la logguer ...

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

    Le plus efficace pour faire tout cela, est de déboguer ton script : Xdebug
    http://xdebug.developpez.com/

    Cela te permettra de profiler ton code, de mettre des points d'arrêt, etc.

Discussions similaires

  1. [FB] Gestion des erreurs et application francophone
    Par Benjamin GAGNEUX dans le forum Installation
    Réponses: 10
    Dernier message: 20/05/2006, 14h54
  2. [struts][Datasource]Gestion des erreurs
    Par GreenJay dans le forum Struts 1
    Réponses: 8
    Dernier message: 15/09/2004, 16h51
  3. [VB6] Gestion des erreurs dans une dll
    Par zimba-tm dans le forum VB 6 et antérieur
    Réponses: 8
    Dernier message: 02/08/2004, 11h20
  4. [XSLT]Est ce qu'il y'a la gestion des erreur en xslt ?
    Par miloud dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 04/02/2004, 17h19
  5. [LG]gestion des erreurs
    Par frontin dans le forum Langage
    Réponses: 3
    Dernier message: 29/11/2003, 22h41

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