Ignorando el parámetro no utilizado con sniffer de código

11

Estoy ejecutando el codeniffer con el estándar EcgM2 en mi extensión personalizada y recibo la advertencia

El parámetro método $contextnunca se usa

para el InstallSchema.phparchivo
¿Cómo puedo hacer que esta advertencia desaparezca?
Mi método se ve así (fíjate SuppressWarningsen la parte superior):

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

Respuestas:

9

Pude ocultar la suciedad debajo de la alfombra así:

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

No estoy orgulloso de eso, pero funciona.

Marius
fuente
agregar // @codingStandardsIgnoreEndentre la firma del método y la llave de apertura provocará una advertencia de phpcs
Radu
Correcto. Se puede agregar después del soporte de apertura. Edité la respuesta.
Marius
4

Actualice phpcs (squizlabs / PHP_CodeSniffer) a la última versión (v3.2.3 en 2017-03-06) y use como:

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

Estoy bastante seguro de que la regla de advertencia de supresión que tendrá que usar es:

Generic.CodeAnalysis.UnusedFunctionParameter

Entonces, este debería ser el código a usar en su PHP Docblock:

@SuppressWarnings(Generic.CodeAnalysis.UnusedFunctionParameter)
Raphael en Digital Pianism
fuente
gracias por desenterrar esto, pero no tiene ningún efecto
Marius
1
@Marius hmm eso es molesto
Raphael en Digital Pianism
todavía no funciona :(
Haim
1

Creo que esta es la forma correcta:

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

En caso de que alguien tenga la misma configuración, ¡funciona para mí pero con SuppressWarnings de OP! Ninguna otra respuesta funcionó.

Entonces, en @SuppressWarnings(PHPMD.UnusedFormalParameter)realidad funciona con PHPMD.

loic_adexos
fuente