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
}

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.


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
}

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)

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
}

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.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.