
من السهل العثور على عناصر فئة خاصة غير مستخدمة ، لأنها غير مستخدمة في الفصل نفسه. ولكن ماذا عن الأساليب العامة/الخصائص/الثوابت؟
final class Book
{
public function getTitle(): string
{
// ...
}
- public function getSubtitle(): string
- {
- // ...
- }
}كيف يمكننا اكتشاف العنصر العام غير المستخدم؟
هذا بالضبط ما تفعله هذه الحزمة.
هذه التقنية مفيدة للغاية للمشاريع الخاصة واكتشاف المعدل public المستخدم عن طريق الخطأ الذي يجب تغييره إلى private كما يسمى محليًا فقط.
composer require tomasvotruba/unused-public --devالحزمة متاحة لإصدار 7.2+ php.
مع تثبيت امتداد Phpstan ، كل شيء جاهز للتشغيل.
تمكين كل عنصر من تلقاء نفسه مع التكوين البسيط:
# phpstan.neon
parameters :
unused_public :
methods : true
properties : true
constants : trueهل لديك المئات من الطريقة العامة المبلغ عنها؟ ليس لديك وقت للتحقق منها جميعًا ، لكنك تريد التعامل معها تدريجياً؟
اضبط الحد الأقصى المسموح به ٪ تكوين بدلاً من ذلك:
# phpstan.neon
parameters :
unused_public :
methods : 2.5هذا يعني أن 2.5 ٪ من جميع الأساليب العامة مسموح بها على أنها غير مستخدمة:
هل تريد التحقق من مكالمات الطريقة المحلية فقط التي لا ينبغي إزالتها ، ولكن يمكن تحويلها إلى private / protected بدلاً من ذلك؟
# phpstan.neon
parameters :
unused_public :
local_methods : true يتم استخدام بعض الطرق فقط في قوالب الغصين أو النصل ، ويمكن الإبلاغ عنها بشكل صحيح بشكل إيجابي على أنها غير مستخدمة.
{{ book. getTitle () }}كيف يمكننا استبعادهم؟ أضف أدلة Twig أو Blade قالب في التكوين لاستبعاد أسماء الأساليب:
# phpstan.neon
parameters :
unused_public :
template_paths :
- templates في بعض الحالات ، أبلغت القواعد عن إيجابيات كاذبة:
تصميم البائعين المفتوحين تصميم واجهة برمجة التطبيقات العامة لاستخدامها من قبل المشاريع. هل تم الإبلاغ عن العنصر على أنه غير مستخدم ، ولكنه مصمم فعليًا ليتم استخدامه للجمهور؟
حدد الفصل أو العنصر مع @api annotation لتخطيه:
final class Book
{
/**
* @api
*/
public function getName ()
{
return $ this -> name ;
}
}