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
}

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.


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
}

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)

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
}

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.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.