Come risolvere "Le implementazioni hook non devono duplicare la documentazione di @param".


10

Sto usando PhpStorm per sperimentare la pulizia del mio codice in un modulo personalizzato. Per la seguente funzione, ricevo questo avviso:

Le implementazioni hook non devono duplicare la documentazione di @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';
  }
}

Cosa devo fare per risolvere questo problema? Pensavo di dover eliminare i @paramcommenti, ma quando lo faccio, PhpStorm si lamenta che non ho commenti sui parametri.


2
Disattiva "Preferenze -> Editor -> Ispezioni -> PHP -> PHPDoc -> Commento PHPDoc mancante" forse? La risposta generale è far sì che le ispezioni dei documenti di PHPStorm corrispondano agli standard di documentazione di Drupal
Clive

3
Il problema è che controlli gli standard di codifica drupal e gli standard di codifica php. Dovresti disattivare lo sniffer per gli standard generali di codifica php e utilizzare gli standard di codifica drupal personalizzati
sgoelz,

@Clive ha la risposta giusta qui. Questo errore non ha nulla a che fare con lo standard di codifica e tutto ha a che fare con le ispezioni integrate di PHPStorm :)
Chapabu,

La veranda accettata risolve il problema nell'IDE ma se si controlla lo standard di codifica il problema è ancora presente. Vedi la mia soluzione
Adrian Cid Almaguer,

Risposte:


5

Il problema è che se stai implementando un hook e non hai bisogno di scrivere più di questo:

/**
 * Implements hook_field_widget_form_alter().
 */

Perché avrai tutte le informazioni nella hook_field_widget_form_alter()definizione, quindi scrivi sempre nelle implementazioni hook solo questo:

/**
 * Implements hook_hook_name().
 */

Nel tuo caso:

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

2

Aggiunta di una risposta per i posteri; come da commento di Clive:

È necessario disattivare l'ispezione PHPStorm integrata che verifica la presenza di "Commenti PHPDoc mancanti", quindi è possibile eliminare in sicurezza i @paramblocchi.

inserisci qui la descrizione dell'immagine


1
Il downvoter si preoccuperebbe di spiegare cosa non va in modo da poter modificare la risposta? O è solo un downvote "tit for tat"?
Chapabu,

1
Questo risolve il problema nell'IDE ma se si controlla lo standard di codifica il problema è ancora presente. Vedi la mia soluzione
Adrian Cid Almaguer,

0

Come altri hanno già detto, è necessario impostare la configurazione PHPStorm per trattare il progetto come un progetto Drupal.

In secondo luogo, mettiti in funzione con Coder .

Una volta installati quei pacchetti, è possibile collegarli in PHPStorm e impostare il sistema standard di conseguenza o semplicemente eseguire i report dalla riga di comando. Ciò renderà il tuo ambiente più in linea con gli standard di codifica Drupal invece di quelli generali forniti con PHPStorm out of the config.


1
I voti negativi erano miei. Non ho "bombardato a tappeto" nulla, ho semplicemente annullato la votazione delle risposte in quanto errate.
Chapabu,

2
Che atto scortese.
Jimmy Ko,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.