Ignorando il parametro non utilizzato con lo sniffer di codice


11

Sto eseguendo il codesniffer con lo standard EcgM2 sulla mia estensione personalizzata e ricevo l'avviso

Il parametro del metodo $contextnon viene mai utilizzato

per il InstallSchema.phpfile.
Come posso eliminare questo avviso?
Il mio metodo è simile al seguente (notare la SuppressWarningsparte superiore):

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

Risposte:


9

Sono stato in grado di nascondere lo sporco sotto il tappeto in questo modo:

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

Non ne vado fiero, ma funziona.


l'aggiunta // @codingStandardsIgnoreEndtra la firma del metodo e la parentesi graffa di apertura causerà un avviso phpcs
Radu,

destra. può essere aggiunto dopo la parentesi quadra aperta. Ho modificato la risposta.
Marius

4

Aggiorna phpcs (squizlabs / PHP_CodeSniffer) alla versione più recente (v3.2.3 al 2017-03-06) e usa come:

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

Sono abbastanza sicuro che la regola di avviso di soppressione che dovrai usare è:

Generic.CodeAnalysis.UnusedFunctionParameter

Quindi questo dovrebbe essere il codice da usare nel tuo Docblock PHP:

@SuppressWarnings(Generic.CodeAnalysis.UnusedFunctionParameter)

grazie per averlo scoperto, ma non ha alcun effetto
Marius

1
@Marius hmm che è fastidioso
Raffaello al Pianismo digitale,

ancora non funzionante :(
Haim

1

Penso che questo sia il modo giusto:

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

Nel caso in cui qualcuno abbia la stessa configurazione, funziona per me ma con SuppressWarnings di OP! Nessun'altra risposta ha funzionato.

Quindi @SuppressWarnings(PHPMD.UnusedFormalParameter)funziona davvero con PHPMD.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.