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
}
Marius
sumber

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.

Marius
sumber
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
}
suka musik
sumber
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)
Raphael di Digital Pianism
sumber
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
}
Giacomo Moscardini
sumber
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.

loic_adexos
sumber