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 :

Outil de "presque" documentation


Sujet :

Langage PHP

  1. #1
    Membre expert

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2007
    Messages
    3 503
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2007
    Messages : 3 503
    Points : 3 134
    Points
    3 134
    Par défaut Outil de "presque" documentation
    Bonjour,

    Désolé pour le titre bizarre mais pas facile de trouver quelque chose qui convienne.

    On me demande de voir s'il existe un outil pour traiter du code Php et qui sache créer un document (ou mieux, un graphique) montrant tous les appels aux fonctions dans un script. Je m'explique:

    Soit un script A qui fait un include d'un fichier B de procédures quelconques ainsi que d'un fichier contenant un classe Personne.
    Ce script crée un objet de type Personne et appelle des fonctions de B.

    J'aimerai obtenir un schéma qui montre l'utilisation de Personne par A (seulement les fonctions appelées) ainsi que les noms de fonction appelées dans B.

    Est-ce que vous pensez que ça existe ?

    Papy

  2. #2
    Modérateur
    Avatar de Bisûnûrs
    Profil pro
    Développeur Web
    Inscrit en
    Janvier 2004
    Messages
    9 906
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2004
    Messages : 9 906
    Points : 14 828
    Points
    14 828
    Par défaut
    Essaie de regarder du côté de debug_print_backtrace().

  3. #3
    Membre expert

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2007
    Messages
    3 503
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2007
    Messages : 3 503
    Points : 3 134
    Points
    3 134
    Par défaut
    C'est plus un outil générique que je recherche. Un peu comme PhpDocumentor.

    Mais la fonction peut quand même être utile. Merci

  4. #4
    Expert confirmé
    Avatar de Thes32
    Homme Profil pro
    Développeur PHP, .Net, T-SQL
    Inscrit en
    Décembre 2006
    Messages
    2 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Développeur PHP, .Net, T-SQL

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 379
    Points : 4 853
    Points
    4 853

  5. #5
    Membre expert

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2007
    Messages
    3 503
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2007
    Messages : 3 503
    Points : 3 134
    Points
    3 134
    Par défaut
    Alors j'ai pas trop compris comment utiliser xdebug dans ce mode là. Je l'ai intégré mais il ne sert qu'à afficher les erreurs dans un format plus sympa que php.

    Mais d'après le peu que j'ai compris, c'est quelque chose qui donne une trace de l'exécution, au moment de l'exécution.

    Mais encore une fois, ce qu'on me demandait, c'est un outil auquel on donne un répertoire contenant tous les fichiers php d'un projet et qui sache recracher un fichier html (ou autre format lisible) qui donne tous les noms de fonctions trouvées, avec les différents endroits où elles sont appelées,éventuellement avec le chemin sur plusieurs niveaux.

    Mais il semble que ça n'existe pas encore.

    Tant pis

    Merci pour ces éléments qui pourront toujours me donner au moins quelques éléments.

  6. #6
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Lead dév - Architecte
    Inscrit en
    Août 2003
    Messages
    6 692
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Lead dév - Architecte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2003
    Messages : 6 692
    Points : 20 244
    Points
    20 244
    Par défaut
    Avec les fichier .out que peut générer xdebug et avec un outil tel que webgrind (http://code.google.com/p/webgrind/) tu peux tout à fait réaliser ce que tu souhaite.
    Webgrind est une version web mais il existe des versions soft (wincachegrind par exemple ) offrant les même résultats.

    Edit sous linux avec kde il existe kcachegrind : http://kcachegrind.sourceforge.net/c...acheGrindIndex

  7. #7
    Membre expert

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2007
    Messages
    3 503
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2007
    Messages : 3 503
    Points : 3 134
    Points
    3 134
    Par défaut
    Avec les fichier .out que peut générer xdebug et avec un outil tel que webgrind
    Je dois vraiment être un peu bouché mais xdebug, il n'agit et ne trace les fonctions QUE pendant l'exécution ou pas ???

    Si oui, c'est intéressant comme outil de profilage pour une exécution donnée!

    Si non, ça ne fait pas vraiment ce qu'on me demande
    Ou bien il faudrait que je fasse séquentiellement toutes les actions possibles sur le site, pour "enregistrer" tous les chemins possibles.

    Ou alors, j'ai loupé un truc.

    Est-ce que xdebug aurait un module exécutable qui puisse analyser un répertoire, y lire les fichiers php, et en ressortir les tous les appels de fonctions imaginables sans avoir à utiliser le code ?

    Ce que j'ai compris de webgrind, c'est qu'il prend les fichiers de "log" renvoyés par xdebug pour les afficher dans un format plus présentables.
    Mais peut-être qu'il s'interface avec xdebug pour faire ce traitement complet ?

  8. #8
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Lead dév - Architecte
    Inscrit en
    Août 2003
    Messages
    6 692
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Lead dév - Architecte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2003
    Messages : 6 692
    Points : 20 244
    Points
    20 244
    Par défaut
    Ou bien il faudrait que je fasse séquentiellement toutes les actions possibles sur le site, pour "enregistrer" tous les chemins possibles.
    Xdebug ne débug que la page sur laquelle tu te trouves , donc oui, si tu veux les appeld de toutes les fonctions de toute ton appli tu dois lancer les pages une à une afin que xdebug fasse son job.

    Peut être y'a t'il une solution miracle , ou il suffit d'appuyer sur un bouton pour tout analyser mais je connais pas

    Edit--

    Comme un dessin vaut mieux qu'un long discours, voici ce que j'obtient en lancant une trace sur mon index.php (point d'entrée de mon appli) :

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

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