Le 21 février 2023, c’était le moment tant attendu : l’environnement de développement gratuit Netbeans 17 a été publié.
Netbeans fête cette année ses 26 ans et continue de recevoir 4 grandes mises à jour par an. Selon les notes de version de Netbeans IDE, 373 commits (= étapes de modification du code source) ont été intégrés dans Netbeans 17.
Cet article met principalement l’accent sur les améliorations et nouveautés concernant PHP.
Pas envie de lire longtemps, mais plutôt d’essayer tout de suite ? Voici le lien pour télécharger :
Pas envie d’expérimenter ? Ceux qui préfèrent rester à la version 16 trouveront ici l’article sur la sortie de Netbeans 16.
Quoi de neuf dans Netbeans 17 ?
Plusieurs petits bugs ont été corrigés.
Majuscules / minuscules dans les propriétés CSS
Les propriétés CSS (par ex. « background-color ») ne sont pas sensibles à la casse. Ainsi, les deux exemples de code suivants sont corrects :
h1 {
background-color: white;
}
h1 {
BackGround-colOR: white;
}
Jusqu’à présent, Netbeans considérait pourtant cela comme une erreur (voir capture d’écran) :

Ce bug a été corrigé dans Netbeans version 17.
Améliorations pour PHP dans Netbeans 17
-
- (Malheureusement pas) comportement amélioré de {@inheritDoc} dans les commentaires DocBlock
D’après l’annonce, {@inheritDoc} devrait maintenant enfin fonctionner également dans les DocBlock pour les constantes et les variables de classe. D’après mes tests, avec Netbeans 17, {@inheritDoc} ne fonctionne en fait pas du tout.
- (Malheureusement pas) comportement amélioré de {@inheritDoc} dans les commentaires DocBlock
-
- Support PHP 8.2 : lors de la création d’un nouveau projet PHP, le choix de la langue « PHP 8.2 » est désormais disponible.
-
- Support PHP 8.2 :
null,falseettruesont désormais disponibles comme types autonomes.À première vue, ces types semblent peu utiles. Cependant, ils aident à une typisation encore plus stricte. Par exemple, si une fonction ne peut retourner que
trueounull, alors?trueest plus approprié comme type hint que?bool.
- Support PHP 8.2 :
-
- Support PHP 8.2 : Readonly est désormais pris en charge
-
- Support PHP 8.2 : Utilisation des propriétés d’un enum dans les expressions const
Jusqu’à présent, il n’était pas possible d’utiliser les propriétés d’un enum dans une expression const à l’intérieur d’un enum – ou bien Netbeans considérait cela comme une erreur de syntaxe :
- Support PHP 8.2 : Utilisation des propriétés d’un enum dans les expressions const

Ce bug a été corrigé avec Netbeans 17 :

-
- Support PHP 8.2 : Il est désormais possible de définir des constantes dans les traits
-
- Support PHP 8.2 : Les types Disjunctive Normal Form peuvent désormais être utilisés
Les types Disjunctive Normal Form permettent d’utiliser une combinaison de différentes classes et interfaces pour la définition du type d’une variable. Netbeans 16 ne savait pas encore gérer cela :
- Support PHP 8.2 : Les types Disjunctive Normal Form peuvent désormais être utilisés

Netbeans 17 a appris quelque chose dans le domaine des types Disjunctive Normal Form :

-
- Les noms de fonctions invalides dans les enums sont maintenant détectés de manière plus fiable
-
- Le type
booleana été supprimé
- Le type