Mengabaikan parameter yang tidak digunakan dengan sniffer kode


11

Saya menjalankan codesniffer dengan standar EcgM2 pada ekstensi kustom saya dan saya mendapatkan peringatan

Parameter metode $contexttidak pernah digunakan

untuk InstallSchema.phpfile.
Bagaimana saya bisa membuat peringatan ini hilang?
Metode saya terlihat seperti ini (perhatikan bagian SuppressWarningsatasnya):

/**
 * {@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
}

Jawaban:


9

Saya bisa menyembunyikan kotoran di bawah karpet seperti ini:

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

Saya tidak bangga akan hal itu, tetapi berhasil.


menambahkan // @codingStandardsIgnoreEndantara tanda tangan metode dan kurung kurawal pembukaan akan menyebabkan peringatan phpcs
Radu

Baik. dapat ditambahkan setelah braket pembuka. Saya mengedit jawabannya.
Marius

4

Perbarui phpcs (squizlabs / PHP_CodeSniffer) ke terbaru (v3.2.3 di 2017-03-06) dan gunakan seperti:

/**
 * {@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

Saya cukup yakin aturan peringatan penekanan yang harus Anda gunakan adalah:

Generic.CodeAnalysis.UnusedFunctionParameter

Jadi ini harus menjadi kode yang digunakan dalam PHP Docblock Anda:

@SuppressWarnings(Generic.CodeAnalysis.UnusedFunctionParameter)

terima kasih telah menggali ini, tetapi tidak berpengaruh
Marius

1
@Marius hmm itu menyebalkan
Raphael di Digital Pianism

masih tidak bekerja :(
Haim

1

Saya pikir ini adalah cara yang benar:

/**
 * {@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

Untuk berjaga-jaga jika seseorang memiliki konfigurasi yang sama, itu bekerja untuk saya tetapi dengan SuppressWarnings OP! Tidak ada jawaban lain yang berhasil.

Jadi @SuppressWarnings(PHPMD.UnusedFormalParameter)sebenarnya berfungsi dengan PHPMD.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.