phanalist
version for Sarif output.
محلل ثابت للأداء لـ PHP ، وهو سهل الاستخدام للغاية. يساعدك على الالتقاط أخطاء شائعة في رمز PHP الخاص بك.
أبسط طريقة لتثبيت Phanalist هي استخدام البرنامج النصي للتثبيت.
curl --proto ' =https ' --tlsv1.2 -sSf https://raw.githubusercontent.com/denzyldick/phanalist/main/bin/init.sh | shسيتم تنزيله تلقائيًا التنفيذ لمنصتك:
$ ~ /phanalist -V
phanalist 1.0.0هناك أيضا العديد من خيارات التثبيت الأخرى.
لتحليل مصادر مشروعك ، تحتاج فقط إلى تشغيل phanalist :
~ /phanalist
في المدى الأول ، سيتم إنشاء phanalist.yaml مع التكوينات الافتراضية. وسيتم إعادة استخدامه على جميع أشواط التالية.
هناك أيضًا بعض المعلمات الإضافية:
config : مسار إلى ملف التكوين ، ./phanalist.yaml هو القيمة الافتراضية.src : مسار إلى مصادر المشروع ، ./src هو القيمة الافتراضية.output-format : التنسيق المستخدم لإخراج النتائج. الخيارات الممكنة هي text (الافتراضي) و json و sarif .summary-only : الإخراج فقط كميات من الانتهاكات التي تم العثور عليها لكل قاعدة.quiet : قمع كل الإخراج.الخيارات الممكنة هي:
enabled_rules على قائمة القواعد المراد استخدامها. سيتم استخدام جميع القواعد إذا كانت هذه القائمة فارغة.disable_rules على قائمة القواعد التي يجب تجاهلها.rules الخيارات الخاصة بالقاعدة.ملف التكوين الافتراضي هو:
enabled_rules : []
disable_rules : []
rules :
E0007 :
check_constructor : true
max_parameters : 5
E0009 :
max_complexity : 10
E0010 :
max_paths : 200
E0012 :
include_namespaces :
- " App \ Service \ "
- " App \ Controller \ "
exclude_namespaces : []القواعد التالية متوفرة:
| شفرة | اسم | الخيارات الافتراضية |
|---|---|---|
| E0000 | مثال القاعدة | |
| E0001 | فتح وضع العلامة | |
| E0002 | صيد فارغ | |
| E0003 | المعدلات الطريقة | |
| E0004 | ثوابت الأحرف الكبيرة | |
| E0005 | اسم الفصل الدراسي | |
| E0006 | معدلات الممتلكات | |
| E0007 | المعلمات الطريقة العد | Check_constructor: True ، Max_Parameters: 5 |
| E0008 | إرجاع توقيع نوع | |
| E0009 | التعقيد السيكلومي | max_complexity: 10 |
| E0010 | تعقيد الغرد | max_complexity: 200 |
| E0011 | اكتشف رمز قسوة الخطأ (@) | |
| E0012 | توافق الخدمة مع نموذج الذاكرة المشتركة | include_namespaces: ["app service "] ، isclude_namespaces: [] ، Reset_Interfaces: ["ResetInterface"] |
| E0013 | طريقة خاصة لا يتم استخدامها |
تعد إضافة قاعدة جديدة مهمة بسيطة ، ويشرح هذا البرنامج التعليمي كيفية القيام بذلك.
اقرأ سلسلة من الفصول على https://dev.to/denzyldick لفهم الداخلية للمشروع. إنها مقدمة رائعة وسهلة القراءة لهذا المشروع.