Je n'ai jamais utilisé aucun outil capable de faire cela de façon statique (c'est-à-dire à partir de fichiers sources), mais voici un moyen d'obtenir un callgraph lors de l'exécution d'un script/application.
D'abord, vous devez installer le Xdebug extension - sur un serveur de développement/test (ne pas installer sur un serveur de production: il est tout à fait mauvais pour des performances ^^)
Ensuite, vous peut utiliser son profiling features pour générer un fichier .cachegrindout
correspondant à l'exécution d'un chargement de page.
Après cela, vous pouvez charger ce fichier .cachegrindout
avec KCacheGrind(sous Linux - Je ne pense pas qu'il y ait une version windows); KCacheGrind peut générer des graphiques d'appel à partir de fichiers .cachegrindout
.
Et voici un exemple de graphes d'appels que vous pouvez obtenir:
KCacheGrind : Callgraph exported as an image http://extern.pascal-martin.fr/so/kcachegrind/kcachegrind-2-small.png
(Voici, il a été généré à partir d'un fichier .cachegrindout
obtenu lors du chargement d'une page de Dotclear, un logiciel de blogging)
Neat !! Je pourrais l'essayer à la maison sur ma machine virtuelle Linux avec un serveur de test PHP. Merci beaucoup! – Christian
De rien :-) Amusez-vous! –