2010-04-27 14 views
9

ऐसा लगता है कि मैंने एक बड़े PHP प्रोग्राम पर काम करना समाप्त कर दिया है और मुझे एक प्रोग्राम (या स्थापित करने में आसान) की आवश्यकता है जो एक PHP अनुप्रयोग का प्रवाह नियंत्रण/कॉल ग्राफ़ खींचता है (यानी, एकाधिक PHP फ़ाइलों पर काम करना चाहिए)। पहले से ही ग्राफविज़ जैसी चीजें देखी गई हैं, यह सुनिश्चित नहीं है कि PHP के लिए कौन सा काम करता है?PHP अनुप्रयोग प्रवाह ग्राफ (या फ़ंक्शन कॉल ग्राफ़)

कोई सुझाव?

चीयर्स!

उत्तर

9

मैंने कभी भी ऐसा कोई उपकरण नहीं उपयोग किया है जो स्थिर रूप से (यानी स्रोत फ़ाइलों से) कर सकता है, लेकिन यहां एक स्क्रिप्ट/एप्लिकेशन निष्पादित करते समय कॉलग्राफ प्राप्त करने का एक तरीका है।


सबसे पहले, आप Xdebug extension स्थापित करने की आवश्यकता - एक विकास/परीक्षण सर्वर (एक उत्पादन सर्वर पर इसे स्थापित नहीं है: यह अभिनय के लिए काफी बुरा है ^^) पर

उसके बाद, आप पेज-लोड के निष्पादन के अनुरूप .cachegrindout फ़ाइल जेनरेट करने के लिए profiling features का उपयोग कर सकते हैं।


उसके बाद, आप कि .cachegrindout फ़ाइल KCacheGrindसाथ लोड कर सकते हैं (linux पर - मैं वहाँ एक विंडोज़ संस्करण है नहीं लगता है); KCacheGrind .cachegrindout फ़ाइलों से कॉल-ग्राफ़ उत्पन्न कर सकता है।

और यहाँ callgraph का एक उदाहरण आप प्राप्त कर सकते हैं:

KCacheGrind : Callgraph exported as an image http://extern.pascal-martin.fr/so/kcachegrind/kcachegrind-2-small.png

(यहाँ है, यह है, जबकि Dotclear, एक ब्लॉगिंग सॉफ्टवेयर का एक पृष्ठ लोड हो रहा प्राप्त एक .cachegrindout फ़ाइल से किया गया है)

+0

साफ !! मैं अपने लिनक्स वीएम पर एक परीक्षण PHP सर्वर के साथ घर पर कोशिश कर सकता हूं। धन्यवाद एक गुच्छा! – Christian

+0

आपका स्वागत है :-) मज़े करो! –

2

Doxygen इसे स्थिर रूप से कर सकता है। कॉन्फ़िगरेशन फ़ाइल बनाने के लिए बस doxygen -d, फिर कॉलग्राफ बनाने के लिए इसे संपादित करें।