Ignorowanie nieużywanego parametru za pomocą sniffera kodu


11

Korzystam z codeniffer ze standardem EcgM2 na moim niestandardowym rozszerzeniu i otrzymuję ostrzeżenie

Parametr metody $contextnigdy nie jest używany

dla InstallSchema.phppliku.
Jak mogę usunąć to ostrzeżenie?
Moja metoda wygląda następująco (zauważ SuppressWarningsna górze):

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

Odpowiedzi:


9

Udało mi się ukryć pod dywan dywan w ten sposób:

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

Nie jestem z tego dumny, ale działa.


dodanie // @codingStandardsIgnoreEndpodpisu metody i otwierającego nawiasu klamrowego spowoduje ostrzeżenie phpcs
Radu,

dobrze. można go dodać po klamrze otwierającej. Zredagowałem odpowiedź.
Marius

4

Zaktualizuj phpcs (squizlabs / PHP_CodeSniffer) do najnowszej wersji (v3.2.3 na 2017-03-06) i użyj:

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

Jestem prawie pewien, że regułą pomijania, której będziesz musiał użyć, jest:

Generic.CodeAnalysis.UnusedFunctionParameter

Więc powinien to być kod do użycia w twoim Docblock PHP:

@SuppressWarnings(Generic.CodeAnalysis.UnusedFunctionParameter)

dzięki za wykopanie tego, ale to nie ma żadnego efektu
Marius

1
@Marius hmm to denerwujące
Raphael z Digital Pianism

nadal nie działa :(
Haim

1

Myślę, że to właściwy sposób:

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

Na wszelki wypadek, jeśli ktoś ma taką samą konfigurację, działa dla mnie, ale z SuppressWarnings OP! Żadna inna odpowiedź nie zadziałała.

Tak @SuppressWarnings(PHPMD.UnusedFormalParameter)naprawdę działa z PHPMD.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.