Ignorando parâmetro não utilizado com sniffer de código


11

Estou executando o codeniffer com o padrão EcgM2 na minha extensão personalizada e estou recebendo o aviso

O parâmetro method $contextnunca é usado

para o InstallSchema.phparquivo
Como posso fazer esse aviso desaparecer?
Meu método se parece com o seguinte (observe a SuppressWarningsparte 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
}

Respostas:


9

Consegui esconder a sujeira debaixo do tapete assim:

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

Não tenho orgulho disso, mas funciona.


adicionar // @codingStandardsIgnoreEndentre a assinatura do método e a chave de abertura causará um aviso do phpcs
Radu

direita. pode ser adicionado após o suporte de abertura. Eu editei a resposta.
Marius

4

Atualize o phpcs (squizlabs / PHP_CodeSniffer) para o mais recente (v3.2.3 em 06/03/2017) e 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

Tenho certeza de que a regra de aviso de supressão que você precisará usar é:

Generic.CodeAnalysis.UnusedFunctionParameter

Portanto, este deve ser o código a ser usado no seu PHP Docblock:

@SuppressWarnings(Generic.CodeAnalysis.UnusedFunctionParameter)

graças para cavar isso, mas não tem nenhum efeito
Marius

1
@Marius hmm isso é chato
Raphael no Digital Pianism

ainda não está funcionando :(
Haim

1

Eu acho que este é o caminho certo:

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

Caso alguém tenha a mesma configuração, funciona para mim, mas com os SuppressWarnings do OP! Nenhuma outra resposta funcionou.

Então, @SuppressWarnings(PHPMD.UnusedFormalParameter)na verdade, funciona com o PHPMD.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.