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
}
Marius
fonte

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.

Marius
fonte
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
}
gosto de musica
fonte
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)
Raphael na Digital Pianism
fonte
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
}
Giacomo Moscardini
fonte
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.

loic_adexos
fonte