ละเว้นพารามิเตอร์ที่ไม่ได้ใช้ด้วยรหัสดมกลิ่น


11

ฉันกำลังใช้งานรหัสผ่านพร้อมกับมาตรฐานEcgM2ในส่วนขยายที่กำหนดเองและฉันได้รับคำเตือน

$contextไม่เคยใช้ พารามิเตอร์เมธอด

สำหรับInstallSchema.phpไฟล์
ฉันจะทำให้คำเตือนนี้หายไปได้อย่างไร
วิธีการของฉันมีลักษณะเช่นนี้ (สังเกตSuppressWarningsที่ด้านบนของมัน):

/**
 * {@inheritdoc}
 * @SuppressWarnings(PHPMD.ExcessiveMethodLength)
 * @SuppressWarnings(PHPMD.UnusedFormalParameter)
 */
public function install(SchemaSetupInterface $setup, ModuleContextInterface $context)
{
    //my install script here that does not use the parameter $context
}

คำตอบ:


9

ฉันสามารถซ่อนสิ่งสกปรกใต้พรมได้ดังนี้:

// @codingStandardsIgnoreStart
public function install(SchemaSetupInterface $setup, ModuleContextInterface $context) 
{
// @codingStandardsIgnoreEnd
....
}

ฉันไม่ได้ภูมิใจ แต่ได้ผล


การเพิ่ม// @codingStandardsIgnoreEndระหว่างเมธอดลายเซ็นต์และการเปิดลอนรั้งจะทำให้คำเตือนphpcs
Radu

ขวา. สามารถเพิ่มได้หลังจากวงเล็บเปิด ฉันแก้ไขคำตอบ
Marius

4

อัปเดต phpcs (squizlabs / PHP_CodeSniffer) เป็นล่าสุด (v3.2.3 ที่ 2017-03-06) และใช้งานเช่น:

/**
 * {@inheritdoc}
 */
// phpcs:ignore Generic.CodeAnalysis.UnusedFunctionParameter
public function install(SchemaSetupInterface $setup, ModuleContextInterface $context)
{
    //my install script here that does not use the parameter $context
}

2

ฉันค่อนข้างมั่นใจว่ากฎเตือนการปราบปรามที่คุณจะต้องใช้คือ:

Generic.CodeAnalysis.UnusedFunctionParameter

ดังนั้นควรเป็นรหัสที่ใช้ใน PHP Docblock ของคุณ:

@SuppressWarnings(Generic.CodeAnalysis.UnusedFunctionParameter)

ขอบคุณที่ขุดขึ้นมา แต่มันไม่มีผล
Marius

1
@Marius hmm น่ารำคาญ
Raphael ที่ Digital Pianism

ยังไม่ทำงาน :(
ฮาอิม

1

ฉันคิดว่านี่เป็นวิธีที่ถูกต้อง:

/**
 * {@inheritdoc}
 * phpcs:disable Generic.CodeAnalysis.UnusedFunctionParameter
 */
public function install(SchemaSetupInterface $setup, ModuleContextInterface $context)
{
    //my install script here that does not use the parameter $context
}

0

ในกรณีที่มีใครบางคนที่มีการกำหนดค่าเดียวกันมันเหมาะกับฉัน แต่กับ SuppressWarnings ของ OP! ไม่มีคำตอบอื่น ๆ ที่ใช้งานได้

ดังนั้น@SuppressWarnings(PHPMD.UnusedFormalParameter)งานได้จริงกับ PHPMD

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.