2010-06-04 5 views
7

मैं किसी और द्वारा लिखे गए एक बहुत बड़े PHP एप्लिकेशन पर काम कर रहा हूं।PHP कॉलस्टैक टूल

क्या किसी को किसी भी उपकरण (मुफ्त या वाणिज्यिक) के बारे में पता है जो मुझे आरेखण करने की अनुमति देगा कि कौन सी PHP फ़ाइल में शामिल है/कॉल/अन्य PHP फ़ाइल की आवश्यकता है?

मैंने PHP के लिए nWire की कोशिश की और यह मेरे शामिल() कॉल को सटीक रूप से कैप्चर नहीं करता है।

उत्तर

2

इस तरह के उपकरण के बारे में है, लेकिन पता है कि फ़ाइलें शामिल किए गए हैं सुनिश्चित नहीं हैं, तो आप get_included_files उपयोग कर सकते हैं और आप इस

// get vars 
$vars = get_defined_vars(); 
// get constants 
$consts = get_defined_constants(); 
// get functions 
$funcs = get_defined_functions(); 

get_defined_vars
get_defined_constants तरह परिभाषित चर, स्थिरांक और कार्यों प्राप्त कर सकते हैं
get_defined_functions

3

यदि मैं आपको सही समझता हूं और आप एक उपकरण चाहते हैं जो दिखाता है कि आपके द्वारा किए गए कॉल शामिल हैं। या क्या आपका मतलब एक उपकरण है जो दिखाता है जिसमें कुछ फाइलों की आवश्यकता होती है?

Xdebug stack trace

0

phpDocumentor कम से कम सूची अपने सभी वर्गों और प्रत्येक वर्ग में लिंक के साथ HTML स्वरूप में उन्हें दस्तावेज़ होगा:

Xdebug पर एक नज़र मुझे लगता है कि यह पहली बात करने में सक्षम होना चाहिए है आवश्यक कक्षाओं के लिए। यदि आप किसी विशेष तरीके से निर्भरता ग्राफिंग करना चाहते हैं तो आप phpDoc के व्यवहार को भी बढ़ा सकते हैं। phpDoc कम से कम javadoc पर आधारित है।

0

Inclued का प्रयास करें, एक पीईसीएल पैकेज जो PHP को विस्तारित करता है और फ़ाइल समावेशन और अन्य जानकारी रिपोर्ट करता है। मैनुअल परिचय कहता है:

रनटाइम पर फ़ाइल समावेशन और कक्षा विरासत के पदानुक्रम के माध्यम से निशान और डंप करता है। फ़ाइलों को शामिल कर सकते हैं(), include_once(), आवश्यकता(), या requ_once()। कक्षा विरासत निर्भरताओं की भी सूचना दी गई है।

PHP के लिए कोड मेट्रिक्स टूल PHP_Depend भी देखें। यह फ़ाइल निर्भरताओं को बिल्कुल प्रदर्शित नहीं करता है, लेकिन यह कोड जटिलता मीट्रिक की रिपोर्ट करता है जो कि सहायता प्राप्त हो सकती है क्योंकि आप विरासत में प्राप्त PHP प्रोजेक्ट को बनाए रखने और पुन: सक्रिय कर रहे हैं।

0

यदि आपको यूएमएल पर कोई फर्क नहीं पड़ता है, तो एंटरप्राइज़ आर्किटेक्ट कुछ सुंदर स्व-वर्गीकृत वर्ग आरेख बनाता है। मैं इसे अपनी अधिकांश परियोजनाओं के लिए उपयोग करता हूं :) यह थोड़ा महंगा है, लेकिन यह इसके लायक है

http://www.sparxsystems.com/products/ea/index.html