Ignorer les paramètres inutilisés avec le renifleur de code

11

J'utilise le codeniffer avec la norme EcgM2 sur mon extension personnalisée et je reçois l'avertissement

Le paramètre de méthode $contextn'est jamais utilisé

pour le InstallSchema.phpfichier.
Comment puis-je faire disparaître cet avertissement?
Ma méthode ressemble à ceci (remarquez SuppressWarningsen haut):

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

Réponses:

9

J'ai pu cacher la saleté sous le tapis comme ceci:

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

Je n'en suis pas fier, mais ça marche.

Marius
la source
l'ajout de la // @codingStandardsIgnoreEndsignature entre la méthode et l'accolade ouvrante provoquera un avertissement phpcs
Radu
droite. il peut être ajouté après le support d'ouverture. J'ai édité la réponse.
Marius
4

Mettez à jour phpcs (squizlabs / PHP_CodeSniffer) vers la dernière (v3.2.3 au 2017-03-06) et utilisez comme:

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

Je suis sûr que la règle d'avertissement de suppression que vous devrez utiliser est la suivante:

Generic.CodeAnalysis.UnusedFunctionParameter

Donc, cela devrait être le code à utiliser dans votre Docblock PHP:

@SuppressWarnings(Generic.CodeAnalysis.UnusedFunctionParameter)
Raphael chez Digital Pianism
la source
merci d'avoir déterré cela, mais cela n'a aucun effet
Marius
1
@Marius hmm c'est ennuyeux
Raphael au Digital Pianism
ne fonctionne toujours pas :(
Haim
1

Je pense que c'est la bonne façon:

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

Juste au cas où si quelqu'un a la même configuration, cela fonctionne pour moi mais avec SuppressWarnings d'OP! Aucune autre réponse n'a fonctionné.

@SuppressWarnings(PHPMD.UnusedFormalParameter)Fonctionne donc réellement avec PHPMD.

loic_adexos
la source