عن المشروع

php-code-coverage هي مكتبة PHP لجمع ومعالجة وعرض معلومات تغطية الكود. وهي محرك التغطية المستخدم في PHPUnit ويمكن استخدامها أيضًا بشكل مستقل. يتم التثبيت عبر Composer، إما كاعتمادية عادية أو، بشكل أكثر شيوعًا، كاعتمادية وقت التطوير: composer require --dev phpunit/php-code-coverage تكشف المكتبة فئة CodeCoverage التي يتم إنشاؤها باستخدام مشغل تغطية (driver) ومرشح (filter). يحدد المرشح الملفات التي يجب تضمينها في جمع التغطية. يتم اختيار المشغل عبر فئة Driver\Selector، على سبيل المثال لتغطية الأسطر. يتم تثبيت جمع التغطية بين استدعاءات start() وstop() حول الكود قيد الاختبار. يمكن إنشاء التقارير بطريقتين. الأولى مباشرة من كائن CodeCoverage باستخدام Report\Facade، على سبيل المثال renderOpenClover() لكتابة ملف XML بصيغة OpenClover. الثانية من بيانات تغطية تم تسلسلها مسبقًا: تقرأ Serialization\Unserializer ملف تغطية متسلسل، ويقوم ReportFacade::fromSerializedData() بعرض صيغة التقرير المطلوبة منه. يعرض README في أمثلته طريقة renderOpenClover فقط، بينما يشير مفهوم الواجهة (facade) إلى توفر صيغ تقارير إضافية عبر طرق عرض أخرى. يُدار المشروع تحت منظمة phpunit ويُوزَّع عبر Packagist باسم phpunit/php-code-coverage. وهو ذو صلة أساسية بمطوري PHP الذين يحتاجون إلى وصول برمجي لبيانات التغطية أو الذين يرغبون في دمج إعداد تقارير التغطية في أدواتهم الخاصة.