PHP çağrısı grafik yarar?

5 Cevap php

Ben bu PHP kodu için call graph üretecektir gprof'ın benzer bir programı arıyorum. Ben grafik çıkışı veya Graphviz veya benzeri ile yorumlanabilir en azından metin çıktı üretebilir şey tercih ediyorum, ama ben düz metin çıktısı razı olacak.

Herkes bunu herhangi bir araç biliyor mu?

5 Cevap

Ben kesinlikle denemek istiyorum Doxygen. PHP desteği vardır, ve çağrı grafikler ve arayan daha önce benim için "yabancı kod" keşfetmek çok yararlı olmuştur oluşturur grafikler.

Example doxygen çağrı graph arasında

Değil emin oluşturmak için PHP ile yazılmış kaynak kodu analiz edebilir orada bir şey var ... Ama sen kod çalıştıran bir şansınız vardır.

O profiling PHP getiriyor ve ve callgrind gibi dosyaları oluşturmak, KCacheGrind ile okunabilir: Sen Xdebug uzantısı bakmak isteyebilirsiniz Linux üzerinde.

Ve bu callgraphs bir tür elde edebilir.


It can also be integrated with PHPUNit, to generate code-coverage when running unit-tests
Some time ago, PHPUnit was able to generate some callgraphs with graphviz ; I don't find that option anymore, though :-(


EDIT: Ben bu konuda duymak ilk kez, ama phpCallGraph o da size yardımcı olabilir adında bir proje var ... ve ben bakarsanız bu kadar oluyor, iş var gibi görünüyor changelog

Bu eski bir konudur - ama durumda herkes yararlı bulur ....

kKCachegrind gerçek yürütme konuları gösterilir callgraphs üretecek.

PHPCallGraph statik analiz perfroms hangi graphviz etrafında oldukça basittir

PHPCallGraph benzer ama döngüler / koşullu yapıları hakkında bilgi ekler ve düğümleri geri aramalar eklemek için bir yöntem sağlar ki my own effort da bulunuyor. Bazı örnek komut araç seti ile birlikte - ama youcan de kendi komut onu gömmek.

Etkileşimli bir şey gerekiyorsa, yeni nWire for PHP check out. Bu PDT 2.1 ve Zend Studio 7.0 ya da çalışan bir Eclipse eklentisi.

Zaten belirtildiği gibi, Doxygen çağrı grafikler oluşturabilirsiniz.

Xdebug üretebilir function traces. Doxygen statik oluşturulur ise, bu, onlar zamanı kod üretilir içinde doxygen en grafiklerden farklı. Zor yapmak için bu olmamalı rağmen ben, bir görsel temsilini fonksiyon izlerini açabilirsiniz herhangi bir alet bilmiyorum.

Birincil işlevi php kaynak kodu üretecektir bytecode göstermek için bytekit uzantısı da vardır. Bu grafikte bu gösterebilirsiniz, bu aslında bir callgraph olduğunu.