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
}

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.


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
}

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)

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
}

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.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.