سؤال

أنا أبحث عن أداة مشابهة gprof التي من شأنها أن تولد دعوة الرسم البياني عن رمز PHP.أفضل شيء يمكن أن تنتج الرسومية الإخراج ، أو على الأقل إخراج النص التي يمكن أن تفسر من قبل GraphViz أو ما شابه, ولكن لن أرضى عن سهل إخراج النص.

لا أحد يعرف من أي أداة يمكن أن تفعل هذا ؟

هل كانت مفيدة؟

المحلول

وسوف أحاول بالتأكيد Doxygen . لديها دعم PHP، والرسوم البيانية دعوة والمتصل الرسوم البيانية فإنها تخلق يكون مفيدا للغاية في استكشاف "رمز الخارجية" بالنسبة لي سابقا.

نصائح أخرى

ولست متأكدا يوجد أي شيء يمكن أن تحليل شفرة المصدر مكتوب في PHP لتوليد ذلك ... ولكن هناك امكانية، عند تشغيل التعليمات البرمجية.

وقد ترغب في إلقاء نظرة على Xdebug التمديد: ان يجلب <لأ href = "HTTP: / /xdebug.org/docs/profiler "يختلط =" نوفولو noreferrer "> التنميط لPHP، ووتوليد مثل callgrind الملفات التي يمكن قراءتها مع <لأ href =" HTTP: //kcachegrind.sourceforge. صافي / أتش تي أم أل / Home.html "يختلط =" نوفولو noreferrer "> KCacheGrind على لينكس.

وهذا واحد قادر على توليد نوع من callgraphs.

و
ويمكن أيضا أن تكون متكاملة مع PHPUNit، لتوليد <لأ href = "http://www.phpunit.de/manual/current/en/code-coverage-analysis.html" يختلط = "نوفولو noreferrer "> رمز تغطية عند تشغيل اختبارات الوحدة
منذ بعض الوقت، كان PHPUnit قادرة على توليد بعض callgraphs مع graphviz. أنا لا أجد هذا الخيار بعد الآن، على الرغم من: - (


وتحرير: انها المرة الأولى التي نسمع عنها، ولكن هناك مشروع يسمى phpCallGraph التي قد تكون قادرة على مساعدتك أيضا ... ويبدو هناك عمل مستمر، إذا نظرت في انها <لأ href = "http://phpcallgraph.svn.sourceforge.net/viewvc/phpcallgraph/trunk/changelog.txt "يختلط =" نوفولو noreferrer "> التغيير

وكما سبقت الإشارة، Doxygen يمكن أن تولد الرسوم البيانية المكالمة.

وXdebug يمكن أن تولد وظيفة يتتبع . هذه تختلف من الرسوم البيانية doxygen في التي يتم توليدها من التعليمات البرمجية وقت التشغيل، في حين يتم إنشاء doxygen بشكل ثابت. أنا لا أعرف من أي الأدوات التي يمكن أن تتحول آثار وظيفة في تمثيل مرئي، على الرغم من أنه لا ينبغي أن يكون من الصعب القيام به.

وهناك أيضا bytekit التي وظيفتها الأساسية هي لإظهار بايت كود ان كود PHP مصدر سوف توليد. ويمكن أن تظهر هذه في الرسم البياني، وهذا هو الأساس callgraph.

هذا هو موضوع قديم ولكن في حالة أي شخص يرى أنه من المفيد....

  • kKCachegrind سوف تنتج callgraphs أظهرت التنفيذ الفعلي المواضيع.

  • PHPCallGraph هو بسيط إلى حد ما حول graphviz التي perfroms تحليل ثابت

  • هناك أيضا بلدي الجهد الذي يشبه إلى PHPCallGraph ولكن يضيف معلومات عن الحلقات/المشروطة هياكل يوفر طريقة إضافة رد على العقد.بعض الأمثلة على البرامج النصية المجمعة مع أدوات - ولكن يمكنك أيضا تضمين ذلك في البرامج النصية الخاصة بك.

إذا كنت بحاجة إلى شيء التفاعلية، وتحقق من nWire لPHP . ومن الكسوف المساعد الذي يعمل مع أي PDT 2.1 و زند ستوديو 7.0.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top