Como corrigir "As implementações de gancho não devem duplicar a documentação do @param".

10

Estou usando o PhpStorm para experimentar a limpeza do meu código em um módulo personalizado. Para a seguinte função, estou recebendo este aviso:

As implementações de gancho não devem duplicar a documentação do @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';
  }
}

O que devo fazer para corrigir isso? Eu pensei que precisava excluir os @paramcomentários, mas quando faço isso, o PhpStorm reclama que não tenho nenhum comentário param.

Patrick Kenny
fonte
2
Desative "Preferências -> Editor -> Inspeções -> PHP -> PHPDoc -> Comentário ausente do PHPDoc" talvez? A resposta geral é fazer com que as inspeções de documentos do PHPStorm correspondam aos padrões de documentação do Drupal
Clive
3
O problema é que você verifica os padrões de codificação drupal e php. Você deve desativar o sniffer para o php geral padrões de codificação e usar o Drupal personalizado padrões de codificação
sgoelz
O @Clive tem a resposta certa aqui. Esse erro não tem nada a ver com o padrão de codificação, e tudo a ver com PHPStorm é construído em inspeções :)
Chapabu
O awnswer aceito resolve o problema no IDE, mas se você verificar o padrão de codificação, o problema ainda estará lá. Veja minha solução.
Adrian Cid Almaguer

Respostas:

5

O problema é que, se você está implementando um gancho e não precisa escrever mais do que isso:

/**
 * Implements hook_field_widget_form_alter().
 */

Como você terá todas as informações na hook_field_widget_form_alter()definição, apenas escreva sempre nas implementações de hooks apenas isso:

/**
 * Implements hook_hook_name().
 */

No seu 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';
  }
}
Adrian Cid Almaguer
fonte
1

Adicionando uma resposta para a posteridade; conforme comentário de Clive:

Você precisa desativar a inspeção PHPStorm integrada que verifica "Comentários ausentes no PHPDoc" e excluir os @paramblocos com segurança .

insira a descrição da imagem aqui

Chapabu
fonte
11
O downvoter se importaria em explicar o que há de errado para que eu possa alterar a resposta? Ou é apenas um voto negativo "tit to tat"?
Chapabu
11
Isso resolve o problema no IDE, mas se você verificar o padrão de codificação, o problema ainda estará lá. Veja minha solução.
Adrian Cid Almaguer
0

Como já foi dito, você precisa definir a configuração do PHPStorm para tratar seu projeto como um projeto Drupal.

Segundo, comece a trabalhar com o Coder .

Depois de instalar esses pacotes, você pode conectá-los no PHPStorm e configurar seu sistema de padrões de acordo ou apenas executar os relatórios na linha de comando. Isso tornará seu ambiente mais alinhado com os padrões de codificação Drupal, em vez dos padrões gerais que acompanham o PHPStorm fora da configuração da caixa.

Kevin
fonte
11
Os votos negativos foram meus. Eu não "bombardeiei" nada, apenas diminuí a votação das respostas, pois elas estavam incorretas.
Chapabu 28/06
2
Que ato indelicado.
Jimmy Ko