Ігнорування невикористаного параметра за допомогою кодового снайпера


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

правильно. його можна додати після відкриття кронштейна. Я відредагував відповідь.
Маріус

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)

дякую, що перекопали це, але це не має ефекту
Маріус

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.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.