Netbeans 17 is here – with support for PHP 8.2

CSS case sensitivity, PHP readonly, new standalone types, and constants in traits are some of the new features introduced in PHP 8.2.

On February 21, 2023, the time had come: the free development environment NetBeans 17 was released.

NetBeans is celebrating its 26th anniversary this year and still receives four major updates annually. According to the NetBeans IDE Release Notes, NetBeans 17 includes 373 commits (= code changes).

This article mainly focuses on the improvements and innovations surrounding PHP.

Don’t want to read for long and want to try it out immediately? Download here:

Not in the mood for experiments? If you prefer to stick with version 16, you’ll find the article about the release of NetBeans 16 here.

What’s new in NetBeans 17?

Several minor bugs have been fixed.

Case sensitivity with CSS properties

CSS properties (e.g., “background-color”) are case-insensitive. This means that both of the following code samples are correct:

h1 {
    background-color: white;
}
h1 {
    BackGround-colOR: white;
}

However, up to now, NetBeans marked this as an error (see screenshot):

This bug is now fixed in NetBeans version 17.

Improvements for PHP in NetBeans 17

     

      • (Unfortunately no) improved behavior of {@inheritDoc} in DocBlock comments

        According to the announcement, {@inheritDoc} should finally also work in DocBlock comments for constants and class variables. In my tests with NetBeans 17, {@inheritDoc} basically doesn’t work at all.

      • PHP 8.2 Support: When creating a new PHP project, “PHP 8.2” is now available as a language selection.
      • PHP 8.2 Support: null, false, and true are now available as standalone types

        At first glance, these types may seem not very useful. However, they help to make typing even more precise. For example, if a function only returns true or null, ?true is a better type hint than ?bool.

      • PHP 8.2 Support: Readonly is now supported
      • PHP 8.2 Support: Using properties of an enum in const expressions

        Until now, it was not possible to use properties of an enum within const expressions – NetBeans marked this as a syntax error:

    This bug was fixed in NetBeans 17:

    •  

     

      • PHP 8.2 Support: Constants can now be defined in traits
      • PHP 8.2 Support: Disjunctive Normal Form types can now be used

        Disjunctive Normal Form types allow you to use a combination of different classes and interfaces for the type definition of a variable. NetBeans 16 could not handle this yet:

    NetBeans 17 has improved in the area of Disjunctive Normal Form types:

    •  

     

      • Invalid function names in enums are now recognized more reliably
      • The boolean type has been removed
    WordPress Cookie Notice by Real Cookie Banner