Wie kann man beheben, dass Hook-Implementierungen die @ param-Dokumentation nicht duplizieren sollten?

9

Ich verwende PhpStorm, um mit der Bereinigung meines Codes in einem benutzerdefinierten Modul zu experimentieren. Für die folgende Funktion erhalte ich diese Warnung:

Hook-Implementierungen sollten die @ param-Dokumentation nicht duplizieren.

/**
 * 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';
  }
}

Was soll ich tun, um das zu beheben? Ich dachte, ich @parammüsste die Kommentare löschen , aber wenn ich das mache, beschwert sich PhpStorm, dass ich keine Parameterkommentare habe.

Patrick Kenny
quelle
2
Deaktivieren Sie "Einstellungen -> Editor -> Inspektionen -> PHP -> PHPDoc -> Fehlender PHPDoc-Kommentar" vielleicht? Die allgemeine Antwort ist, dass die Dokumentenprüfungen von PHPStorm den Dokumentationsstandards von Drupal entsprechen
Clive
3
Das Problem ist, dass Sie nach Drupal-Codierungsstandards und PHP-Codierungsstandards suchen. Sie sollten den Sniffer für die allgemeinen PHP-Codierungsstandards deaktivieren und die benutzerdefinierten Drupal-Codierungsstandards verwenden
sgoelz
@Clive hat hier die richtige Antwort. Dieser Fehler hat nichts mit dem Codierungsstandard zu tun und alles mit den in PHPStorm eingebauten Inspektionen :)
Chapabu
Die akzeptierte Antwort löst das Problem in der IDE, aber wenn Sie den Codierungsstandard überprüfen, ist das Problem immer noch vorhanden. Siehe meine Lösung.
Adrian Cid Almaguer

Antworten:

4

Das Problem ist, dass Sie, wenn Sie einen Hook implementieren und nicht mehr schreiben müssen:

/**
 * Implements hook_field_widget_form_alter().
 */

Da Sie alle Informationen in der hook_field_widget_form_alter()Definition haben, schreiben Sie einfach immer nur Folgendes in die Hooks-Implementierungen:

/**
 * Implements hook_hook_name().
 */

In deinem Fall:

/**
 * 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';
  }
}
Adrian Cid Almaguer
quelle
1

Hinzufügen einer Antwort für die Nachwelt; gemäß Clives Kommentar:

Sie müssen die integrierte PHPStorm-Inspektion deaktivieren, die nach "Fehlenden PHPDoc-Kommentaren" sucht, damit Sie Ihre @paramBlöcke sicher löschen können .

Geben Sie hier die Bildbeschreibung ein

Chapabu
quelle
1
Würde der Downvoter gerne erklären, was falsch ist, damit ich die Antwort ändern kann? Oder ist nur eine "tit for tat" -Downvote?
Chapabu
1
Dies löst das Problem in der IDE, aber wenn Sie den Codierungsstandard überprüfen, ist das Problem immer noch vorhanden. Siehe meine Lösung.
Adrian Cid Almaguer
0

Wie bereits erwähnt, müssen Sie die PHPStorm-Konfiguration festlegen, um Ihr Projekt als Drupal-Projekt zu behandeln.

Zweitens können Sie mit Coder loslegen .

Sobald Sie diese Pakete installiert haben, können Sie sie in PHPStorm verkabeln und Ihr Standardsystem entsprechend einstellen oder die Berichte einfach über die Befehlszeile ausführen. Dadurch wird Ihre Umgebung besser an die Drupal-Codierungsstandards angepasst als an die allgemeinen, die im Lieferumfang von PHPStorm enthalten sind.

Kevin
quelle
1
Die Abstimmungen waren meine. Ich habe nichts "Teppichbombe", ich habe nur die Antworten herabgestimmt, da sie falsch waren.
Chapabu
2
Was für eine unhöfliche Tat.
Jimmy Ko