¿Cómo solucionar "Las implementaciones de gancho no deberían duplicar la documentación de @param"?


10

Estoy usando PhpStorm para experimentar con la limpieza de mi código en un módulo personalizado. Para la siguiente función, recibo esta advertencia:

Las implementaciones de gancho no deben duplicar la documentación de @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';
  }
}

¿Qué debo hacer para arreglar esto? Pensé que necesitaba eliminar los @paramcomentarios, pero cuando hago eso, PhpStorm se queja de que no tengo ningún comentario param.


2
Desactiva "Preferencias -> Editor -> Inspecciones -> PHP -> PHPDoc -> ¿Falta el comentario PHPDoc", tal vez? La respuesta general es hacer que las inspecciones de documentos de PHPStorm coincidan con los estándares de documentación de Drupal
Clive

3
El problema es que verifica los estándares de codificación drupal y los estándares de codificación php. Debe desactivar el sniffer para los estándares generales de codificación php y utilizar los estándares de codificación personalizados de drupal
sgoelz

@Clive tiene la respuesta correcta aquí. Ese error no tiene nada que ver con el estándar de codificación, y todo con las inspecciones
integradas de PHPStorm

Las respuestas aceptadas resuelven el problema en el IDE, pero si verifica el estándar de codificación, el problema sigue ahí. Mira mi solución.
Adrian Cid Almaguer

Respuestas:


5

El problema es que si está implementando un enlace y no necesita escribir más que esto:

/**
 * Implements hook_field_widget_form_alter().
 */

Debido a que tendrá toda la información en la hook_field_widget_form_alter()definición, solo escriba siempre en las implementaciones de ganchos solo esto:

/**
 * Implements hook_hook_name().
 */

En tu 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';
  }
}

1

Agregar una respuesta para la posteridad; según el comentario de Clive:

Debe desactivar la inspección integrada de PHPStorm que verifica si hay "Comentarios PHPDoc faltantes", luego puede eliminar sus @parambloques de forma segura .

ingrese la descripción de la imagen aquí


1
¿Le gustaría al votante explicar qué está mal para que yo pueda enmendar la respuesta? ¿O es simplemente un voto negativo "tit for tat"?
Chapabu

1
Esto resuelve el problema en el IDE, pero si verifica el estándar de codificación, el problema sigue ahí. Mira mi solución.
Adrian Cid Almaguer

0

Como han dicho otros, debe configurar la configuración de PHPStorm para tratar su proyecto como un proyecto de Drupal.

En segundo lugar, ponte en marcha con Coder .

Una vez que tenga esos paquetes instalados, puede conectarlos en PHPStorm y configurar su sistema de estándares en consecuencia o simplemente ejecutar los informes desde la línea de comandos. Esto hará que su entorno esté más en línea con los estándares de codificación de Drupal en lugar de los generales que se envían con la configuración de PHPStorm lista para usar.


1
Los votos negativos fueron míos. No "bombardeé" nada, simplemente rechacé las respuestas porque eran incorrectas.
Chapabu

2
Que acto de mala educación.
Jimmy Ko
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.