Em 21 de fevereiro de 2023 chegou o momento: O ambiente de desenvolvimento gratuito NetBeans 17 foi lançado.
NetBeans faz 26 anos este ano e ainda recebe 4 grandes atualizações por ano. De acordo com as notas de lançamento da NetBeans IDE, NetBeans 17 incluiu 373 commits (= alterações no código-fonte).
Este artigo trata principalmente das melhorias e novidades relacionadas ao PHP.
Não quer ler tudo e prefere testar direto? Aqui está o link para download:
Não quer experimentar novidades? Se você preferir ficar com a versão 16, aqui está o artigo sobre o lançamento do NetBeans 16.
O que há de novo no NetBeans 17?
Vários pequenos erros foram corrigidos.
Maiúsculas / minúsculas em propriedades CSS
Propriedades CSS (por ex. “background-color”) não diferenciam maiúsculas de minúsculas (case-insensitive). Isso significa que ambos os exemplos de código a seguir estão corretos:
h1 {
background-color: white;
}
h1 {
BackGround-colOR: white;
}
No entanto, até agora o NetBeans considerava isso um erro (veja o screenshot):

Na versão 17 do NetBeans, esse erro foi corrigido.
Melhorias para PHP no NetBeans 17
-
- (Infelizmente, nenhuma) melhoria no comportamento do {@inheritDoc} em comentários DocBlock
Segundo o anúncio, o {@inheritDoc} deveria finalmente funcionar em comentários DocBlock também para constantes e variáveis de classe. Nos meus testes com o NetBeans 17, {@inheritDoc} simplesmente não funcionou.
- (Infelizmente, nenhuma) melhoria no comportamento do {@inheritDoc} em comentários DocBlock
-
- Suporte ao PHP 8.2: Agora, ao criar um novo projeto PHP, a opção “PHP 8.2” está disponível na seleção de linguagem.
-
- Suporte ao PHP 8.2:
null,false, etrueagora podem ser usados como tipos autônomosÀ primeira vista, esses tipos parecem pouco úteis. No entanto, eles ajudam a tipar de forma ainda mais precisa. Por exemplo, se uma função retorna apenas
trueounull,?trueé uma anotação de tipo melhor que?bool.
- Suporte ao PHP 8.2:
-
- Suporte ao PHP 8.2: Readonly agora é suportado
-
- Suporte ao PHP 8.2: Uso de propriedades de enums em expressões const
Até agora, não era possível usar propriedades de enums em expressões const dentro de um enum — o NetBeans considerava isso um erro de sintaxe:
- Suporte ao PHP 8.2: Uso de propriedades de enums em expressões const

Com o NetBeans 17, esse erro foi corrigido:

-
- Suporte ao PHP 8.2: Agora é possível definir constantes em Traits
-
- Suporte ao PHP 8.2: Disjunctive Normal Form Types agora podem ser usados
Disjunctive Normal Form Types permitem utilizar uma combinação de diferentes classes e interfaces como tipo de uma variável. O NetBeans 16 ainda não suportava isso:
- Suporte ao PHP 8.2: Disjunctive Normal Form Types agora podem ser usados

No NetBeans 17, o suporte a Disjunctive Normal Form Types foi melhorado:

-
- Nomes de funções inválidos em enums agora são reconhecidos de forma mais confiável
-
- O tipo
booleanfoi removido
- O tipo