Игнорирование неиспользуемого параметра с помощью сниффера кода

11

Я использую codeniffer со стандартом 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
Раду
верно. его можно добавить после открывающей скобки. Я отредактировал ответ.
Мариус
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

Так что это должен быть код для использования в вашем Docblock PHP:

@SuppressWarnings(Generic.CodeAnalysis.UnusedFunctionParameter)
Рафаэль в цифровом пианизме
источник
спасибо, что выкопали это, но это не имеет никакого эффекта
Marius
1
@Marius Хмм, это раздражает
Рафаэль в 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.

loic_adexos
источник