
มันง่ายที่จะหาองค์ประกอบชั้นเรียนส่วนตัวที่ไม่ได้ใช้เพราะพวกเขาไม่ได้ใช้ในชั้นเรียน แต่สิ่งที่เกี่ยวกับวิธีการสาธารณะ/คุณสมบัติ/ค่าคงที่?
final class Book
{
public function getTitle(): string
{
// ...
}
- public function getSubtitle(): string
- {
- // ...
- }
}เราจะตรวจจับองค์ประกอบสาธารณะที่ไม่ได้ใช้งานได้อย่างไร?
นั่นคือสิ่งที่แพ็คเกจนี้ทำ
เทคนิคนี้มีประโยชน์มากสำหรับโครงการส่วนตัวและตรวจจับตัวดัดแปลง public ที่ใช้โดยไม่ตั้งใจซึ่งควรเปลี่ยนเป็น private ตามที่เรียกว่าในพื้นที่เท่านั้น
composer require tomasvotruba/unused-public --devแพ็คเกจพร้อมใช้งานสำหรับรุ่น PHP 7.2+
ด้วยตัวติดตั้งส่วนขยาย 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 หรือใบมีดของคุณในการกำหนดค่าเพื่อยกเว้นชื่อวิธี:
# phpstan.neon
parameters :
unused_public :
template_paths :
- templates ในบางกรณีกฎรายงานผลบวกปลอม:
ผู้ขายโอเพนซอร์ซออกแบบ API สาธารณะที่จะใช้โดยโครงการ องค์ประกอบถูกรายงานว่าไม่ได้ใช้ แต่จริง ๆ แล้วมันถูกออกแบบมาเพื่อใช้งานสาธารณะหรือไม่?
ทำเครื่องหมายคลาสหรือองค์ประกอบด้วยคำอธิบายประกอบ @api เพื่อข้ามไป:
final class Book
{
/**
* @api
*/
public function getName ()
{
return $ this -> name ;
}
}