سؤال

هل هناك تحليل ثابت أداة المصدر PHP الملفات ؟ الثنائية نفسها يمكن التحقق من وجود أخطاء في بناء الجملة, ولكن أنا أبحث عن شيء لا أكثر, مثل:

  • غير المستخدمة متغير المهام
  • المصفوفات التي تم تعيينها إلى دون تهيئة الأولى
  • وربما رمز نمط تحذيرات
  • ...
هل كانت مفيدة؟

المحلول

تشغيل php في الوبر وضع من سطر الأوامر للتحقق من صحة الجملة دون التنفيذ:

php -l FILENAME

أعلى مستوى ثابت تحليل ما يلي:

انخفاض مستوى تحليل ما يلي:

وقت التشغيل المحللات التي هي أكثر فائدة لبعض الأمور بسبب PHPs الطبيعة الديناميكية ، وتشمل:

الوثائق والمكتبات phpdoc و doxygen إجراء نوع من تحليل التعليمات البرمجية.Doxygen, على سبيل المثال, يمكن تكوين لجعل لطيفة الميراث مع الرسوم البيانية graphviz.

وثمة خيار آخر هو xhprof, الذي يشبه xdebug ، ولكن أخف وزنا مما يجعلها مناسبة خوادم الإنتاج.تتضمن الأداة PHP القائمة على واجهة.

نصائح أخرى

على الانترنت PHP الوبر

PHPLint

Unitialized المتغيرات الاختيار.رابط 1 و 2 بالفعل يبدو أن تفعل هذا على ما يرام, على الرغم من.

لا أستطيع أن أقول أنني قد استخدمت أي من هذه مكثف ، على الرغم من :)

للتأكد من اكتمالها -- أيضا التحقق phpCallGraph.

PHP الفوضى كاشف رائع و سريع.

لقد حاولت استخدام $php -l و عدة أدوات أخرى.ولكن أفضل واحد في تجربتي (YMMV بالطبع) ، شيك من أدوات pfff.سمعت عن pfff على قرة (http://www.quora.com/Is-there-a-good-PHP-lint-static-analysis-tool)

يمكنك تجميع وتثبيته.لا توجد لطيفة حزم (على منت ديبيان ، كان لي لتثبيت libpcre3-dev, ocaml, libcairo-dev, libgtk-3-dev و libgimp2.0-dev تبعيات الأولى) ولكن ينبغي أن يكون يستحق intsall.

النتائج المبلغ عنها مثل

rjha@mint ~ $ ~/sw/pfff/scheck ~/code/github/sc/
login-now.php:7:4: CHECK: Unused Local variable $title
go-automatic.php:14:77: CHECK: Use of undeclared variable $goUrl.

انظر الدلالي التصاميم' CloneDR, ، "استنساخ الكشف عن" الأداة التي يرى نسخ/لصق/تحرير التعليمات البرمجية.سوف تجد بالضبط و بالقرب تفوت أجزاء التعليمات البرمجية رغم بيضاء والتعليقات حتى متغير renamings.عينة كشف التقرير من أجل PHP يمكن العثور عليها في الجزء الالكتروني.(أنا المؤلف).

NetBeans IDE يتحقق أخطاء في بناء الجملة, unusued المتغيرات مثل هذه.انها ليست الآلي ، ولكن يعمل بشكل جيد الصغيرة أو المتوسطة المشاريع.

هناك أداة جديدة تسمى nWire PHP.هو رمز الاستكشاف المساعد الكسوف PDT و زند ستوديو 7.x.أنه تمكن في الوقت الحقيقي تحليل رمز PHP و توفر الأدوات التالية:

  • رمز التصور التفاعلي تمثيل رسومي من مكونات والجمعيات.
  • قانون الملاحة الملاحة فريدة من نوعها لعرض جميع الجمعيات و يعمل معك أثناء كتابة أو قراءة التعليمات البرمجية.
  • بحث سريع - البحث كما كنت اكتب عن طرق حقول الملف ، إلخ.

PHP PMD (مشروع الفوضى الكاشف) و PHP CPD (نسخ لصق كاشف) كما في السابق جزءا من PHPUnit

هناك مزقت - ثابت البرمجية المصدر محلل عن نقاط الضعف في البرامج النصية PHP.مصادر مزقت المتاحة في سورس.

من مزقت الموقع:

مزقت هو أداة مكتوبة فى PHP للعثور على نقاط الضعف في PHP تطبيقات باستخدام تحليل رمز ثابت.قبل tokenizing و تحليل جميع ملفات التعليمات البرمجية المصدر مزقت قادرة على تحويل شفرة المصدر PHP في برنامج نموذج للكشف عن حساسية المصارف (يحتمل أن تكون ضعيفة الوظائف) التي يمكن أن تكون ملوثة من قبل userinput (يتأثر الخبيثة المستخدم) خلال تدفق البرنامج.إلى جانب منظم إخراج وجدت نقاط الضعف مزقت أيضا متكاملا رمز مراجعة الإطار لمزيد من التحليل اليدوي.

هناك هو تماما أداة جديدة من أجل تحليل رمز ثابت يسمى PHP محلل.

من بين أنواع كثيرة من تحليل ثابت كما يوفر الأساسية لصناعة السيارات في تحديد الوظيفة ، انظر الوثائق.

تحديث:PHP-محلل الآن إهمال المشروع ولكن كنت لا تزال لا يمكن الحصول على الإرث فرع

قد ترغب في محاولة تجميع مع Facebook هو الهيب هوب.

فإنه لا تحليل ثابت على المشروع بأكمله ، و قد يكون ما تبحث عنه.

https://github.com/facebook/hiphop-php

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