تم إنشاء Larastan بواسطة Can Vural وNuno Maduro، وحصل على عمل فني صممه @Caneco، وتتم صيانته بواسطة Can Vural وViktor Szépe، وهو امتداد PHPStan لـ Laravel. يركز Larastan على إيجاد الأخطاء في التعليمات البرمجية الخاصة بك . فهو يلتقط فئات كاملة من الأخطاء حتى قبل أن تكتب اختبارات للكود.
بينما بحكم التعريف، لا يقوم "التحليل الثابت" بتحميل أي من أكواد التطبيق الخاص بك. يقوم Larastan بتشغيل حاوية تطبيقك، بحيث يمكنه حل الأنواع التي لا يمكن حسابها إلا في وقت التشغيل. ولهذا السبب نستخدم مصطلح "تحليل الكود" بدلاً من "التحليل الثابت".
نسخة لارافيل | نسخة لاراستان |
---|---|
< 9 | 1.x |
> 9.0 && <11.15 | 2.x |
11.15+ | 3.0+ |
يتطلب:
1 : أولاً، يمكنك استخدام Composer لتثبيت Larastan باعتباره تابع تطوير في مشروع Laravel الخاص بك:
composer require --dev " larastan/larastan:^3.0 "
استخدام Larastan لتحليل حزم Laravel؟ قد تحتاج إلى تثبيت
orchestra/testbench
.
2 : ثم قم بإنشاء ملف phpstan.neon
أو phpstan.neon.dist
في جذر التطبيق الخاص بك. قد يبدو مثل هذا:
includes:
- vendor/larastan/larastan/extension.neon
- vendor/nesbot/carbon/extension.neon
parameters:
paths:
- app/
# Level 10 is the highest level
level: 5
# ignoreErrors:
# - '#PHPDoc tag @var#'
#
# excludePaths:
# - ./*/*/FileToBeExcluded.php
للتعرف على جميع الخيارات المتاحة، يرجى إلقاء نظرة على وثائق PHPStan: https://phpstan.org/config-reference
3 : أخيرًا، يمكنك البدء في تحليل التعليمات البرمجية الخاصة بك باستخدام أمر phpstan console:
./vendor/bin/phpstan analyse
إذا كنت تتلقى الخطأ Allowed memory size exhausted
، فيمكنك استخدام خيار --memory-limit
لإصلاح المشكلة:
./vendor/bin/phpstan analyse --memory-limit=2G
يمكن تجاهل خطأ محدد إما من خلال تعليق php أو في ملف التكوين:
// @phpstan-ignore-next-line
$ test -> badMethod ();
$ test -> badMethod (); // @phpstan-ignore-line
عند تجاهل الأخطاء في ملف تكوين PHPStan، يتم تجاهلها عن طريق كتابة تعبير عادي بناءً على رسائل الخطأ:
parameters :
ignoreErrors :
- ' #Call to an undefined method .*badMethod()# '
في قواعد التعليمات البرمجية القديمة، قد يكون من الصعب قضاء الوقت في إصلاح جميع التعليمات البرمجية لاجتياز مستوى PHPStan مرتفع.
للتغلب على هذا يمكن إنشاء ملف أساسي. سيقوم الملف الأساسي بإنشاء ملف تكوين يحتوي على جميع الأخطاء الحالية، بحيث يمكن كتابة التعليمات البرمجية الجديدة باتباع معيار أعلى من التعليمات البرمجية القديمة. (مستندات PHPStan)
./vendor/bin/phpstan analyse --generate-baseline
يمكن العثور على قائمة بالقواعد القابلة للتكوين الخاصة بـ Laravel هنا.
يمكن العثور على قائمة بميزات لاراستان هنا.
يمكن العثور هنا على قائمة بأنواع PHPDoc الخاصة بـ Larastan.
يمكن العثور هنا على قائمة بمعلمات التكوين المخصصة التي يمكنك استخدامها في ملف تكوين PHPStan الخاص بك.
تعتبر بعض أجزاء Laravel حاليًا سحرية للغاية بحيث يتعذر على Larastan/PHPStan فهمها. لقد أدرجنا الأخطاء الشائعة التي يجب تجاهلها وإضافتها حسب الحاجة
شكرًا لك على التفكير في المساهمة في لاراستان. جميع إرشادات المساهمة مذكورة هنا.
Larastan هو برنامج مفتوح المصدر مرخص بموجب ترخيص MIT.