Nicht verwendete Parameter mit Code-Sniffer ignorieren

11

Ich führe den Codesniffer mit dem EcgM2- Standard auf meiner benutzerdefinierten Erweiterung aus und erhalte die Warnung

Der Methodenparameter $contextwird niemals verwendet

für die InstallSchema.phpDatei.
Wie kann ich diese Warnung aufheben?
Meine Methode sieht folgendermaßen aus (beachten Sie SuppressWarningsdas oben):

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

Antworten:

9

Ich konnte den Schmutz so unter dem Teppich verstecken:

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

Ich bin nicht stolz darauf, aber es funktioniert.

Marius
quelle
Das Hinzufügen der // @codingStandardsIgnoreEndzwischen der Methodensignatur und der öffnenden geschweiften Klammer wird eine phpcs-Warnung auslösen
Radu
richtig. es kann nach der öffnenden Klammer hinzugefügt werden. Ich habe die Antwort bearbeitet.
Marius
4

Aktualisieren Sie phpcs (squizlabs / PHP_CodeSniffer) auf den neuesten Stand (v3.2.3 am 06.03.2017) und verwenden Sie Folgendes:

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

Ich bin mir ziemlich sicher, dass die Unterdrückungswarnregel, die Sie verwenden müssen, lautet:

Generic.CodeAnalysis.UnusedFunctionParameter

Dies sollte also der Code sein, der in Ihrem PHP Docblock verwendet werden soll:

@SuppressWarnings(Generic.CodeAnalysis.UnusedFunctionParameter)
Raphael beim digitalen Pianismus
quelle
Danke, dass du das
Marius
1
@Marius hmm das ist nervig
Raphael bei Digital Pianism
funktioniert immer noch nicht :(
Haim
1

Ich denke das ist der richtige Weg:

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

Nur für den Fall, dass jemand die gleiche Konfiguration hat, funktioniert es für mich, aber mit SuppressWarnings von OP! Keine andere Antwort hat funktioniert.

Funktioniert also @SuppressWarnings(PHPMD.UnusedFormalParameter)tatsächlich mit PHPMD.

loic_adexos
quelle