PHP 8.3 has been released

, ,
PHP 8.3 released

This latest major update to PHP adds support for declaring class, trait, interface, and enum constant types. In addition readonly properties and randomness have also been updated.

What’s new

PHP is a self-referentially acronym for PHP: Hypertext Preprocessor. Original it supposedly meant personal home page. It is an open source, server-side, HTML embedded scripting language used to create dynamic Web pages. PHP 8.3, a major update to the popular server-side web scripting language, offers features such as explicit typing of class constants, deep cloning of readonly properties, and additions to randomness functionality.

Released on November 23rd 2023, PHP 8.3 can be accessed from php.net.

Biggest improvements

With typed class constants, PHP 8.3 gains support for declaring class, interface, trait, and enum constant types. Class constant type declarations support all type declarations supported by PHP, with the exception of void, callable, and never.

The void and callable types are not supported due to issues discussed in the typed properties v2 RFC. Similarly, never is not applicable in the context of constants.

To enable deep cloning of readonly properties, PHP 8.3 allows readonly properties to be modified once within the magic clone method. Plus, readonly classes now can be reinitialized during cloning. PHP 8.3 also lets non-readonly classes extend readonly classes.

Other new features

A new [#\Override] attribute expresses intent in code. If this attribute is added to a method, the engine shall validate that a method with the same name exists in a parent class or any of the implemented interfaces. If no such method exists, a compile time error shall be emitted.

– The command line linter now accepts variadic input for file names to lint.

– The Random Extension added in PHP 8.2 adds a new method that generates random strings consisting of specific bytes only.

– This method allows developers to easily generate random identifiers, such as domain names, and numeric strings of arbitrary length.

– A a new function, json_validate(), indicates whether a string contains valid JSON.

Anonymous classes now can be readonly.

PHP 8.2 arrived last December, introducing readonly classes.

We’re PHP specialists

Here at PNP Digital, we leverage the power of PHP to craft dynamic, scalable, and cutting-edge web solutions. Contact us to find out how we can help you with your next PHP project.