web-dev-qa-db-ja.com

「フックの実装は@paramドキュメントを複製すべきではありません」を修正する方法?

PhpStormを使用して、カスタムモジュールのコードのクリーンアップを実験しています。次の関数の場合、この警告が表示されます。

フック実装は@paramドキュメントを複製するべきではありません。

/**
 * Implements hook_field_widget_form_alter().
 *
 * @param array $element
 * @param array $form_state
 * @param array $context
 */
function mymodule_field_widget_form_alter(&$element, $form_state, $context) {
  if ($context['widget'] instanceof \Drupal\text\Plugin\Field\FieldWidget\TextareaWidget) {
    $element['#after_build'][] = '_mymodule_remove_textarea_help';
  }
}

これを修正するにはどうすればよいですか? @paramコメントを削除する必要があると思いましたが、削除すると、PhpStormは、paramコメントがないと不平を言っています。

9
Patrick Kenny

問題は、フックを実装していて、これ以上書く必要がない場合です。

_/**
 * Implements hook_field_widget_form_alter().
 */
_

hook_field_widget_form_alter()定義にすべての情報が含まれるため、フックの実装には常に次のようにのみ記述します。

_/**
 * Implements hook_hook_name().
 */
_

あなたの場合:

_/**
 * Implements hook_field_widget_form_alter().
 */
function mymodule_field_widget_form_alter(&$element, $form_state, $context) {
  if ($context['widget'] instanceof \Drupal\text\Plugin\Field\FieldWidget\TextareaWidget) {
    $element['#after_build'][] = '_mymodule_remove_textarea_help';
  }
}
_
4

後世の答えを追加する。クライブのコメントによると:

「欠落したPHPDocコメント」をチェックする組み込みのPHPStormインスペクションをオフにする必要があります。そうすると、@paramブロックを安全に削除できます。

enter image description here

1
Chapabu

他の人が言ったように、プロジェクトをDrupalプロジェクトとして扱うようにPHPStorm設定を設定する必要があります。

次に、 Coder で実行します。

これらのパッケージをインストールしたら、それらをPHPStormに接続して標準システムを設定するか、コマンドラインからレポートを実行します。これは、PHPStormに同梱されている一般的な標準ではなく、Drupalコーディング標準に準拠した環境を実現します。

0
Kevin