コードスニファーで未使用のパラメーターを無視する


11

カスタム拡張機能でEcgM2標準を使用してコードスニファーを実行していますが、警告が表示されます

メソッドパラメータ$contextは使用されません

以下のためのInstallSchema.phpファイル。
この警告を消すにはどうすればよいですか?
私のメソッドは次のようになります(SuppressWarnings上部にあるに注意してください):

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

回答:


9

次のようにして、敷物の下の汚れを隠すことができました。

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

私はそれを誇りに思っていませんが、うまくいきます。


// @codingStandardsIgnoreEndメソッドシグネチャと開始中括弧の間にを追加すると、phpcs警告が発生します-phpcs:開始中括弧は宣言の後の行にあるはずです。空白行が1件見つかりました
Radu

正しい。開始ブラケットの後に追加できます。答えを編集しました。
マリウス

4

phpcs(squizlabs / PHP_CodeSniffer)を最新(2017-03-06のv3.2.3)に更新し、次のように使用します。

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

私はあなたが使用しなければならないであろう抑制警告ルールがかなりあると確信しています:

Generic.CodeAnalysis.UnusedFunctionParameter

したがって、これはPHP Docblockで使用するコードである必要があります。

@SuppressWarnings(Generic.CodeAnalysis.UnusedFunctionParameter)

これを掘り下げてくれてありがとう、しかしそれは効果がない
マリウス

1
@Mariusうーん、うんざりする
デジタルピアニズムのラファエル、

まだ機能していません:(
ハイム

1

私はこれが正しい方法だと思います:

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

誰かが同じ設定を持っている場合に備えて、それは私にとってはうまくいきますが、OPのSuppressWarningsで!他の答えはうまくいきませんでした。

したがって、@SuppressWarnings(PHPMD.UnusedFormalParameter)実際にはPHPMDで動作します。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.