4

PHP 8.2 introduces read-only classes

 1 year ago
source link: https://www.infoworld.com/article/3682779/php-82-introduces-read-only-classes.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

PHP 8.2 introduces read-only classes

Major update to the popular scripting language also features performance and syntax improvements and new stand-alone types.

By Paul Krill

Editor at Large,

InfoWorld | Dec 13, 2022 1:00 pm PST

Web dev

A major update to the stalwart scripting language for web development, PHP 8.2 has arrived with performance, syntax, and type safety improvements along with new capabilities such as read-only classes and stand-alone types.

PHP 8.2 was published December 8 and can be accessed from php.net.

Support for read-only classes in PHP 8.2 means that a class marked with the readonly modifier will mark all instance properties of the class as read-only and prevent the creation of dynamic properties. Marking readonly classes with the AllowDynamicProperties attribute triggers a compile error.

The addition of null, false, and true as stand-alone types in PHP 8.2 is described as a “programming enhancement.” The null type corresponds to PHP’s unit type (the type that holds a single value) while false and true are literal types of type bool. These changes promote type system completeness and serve a number of edge cases.

In other improvements in PHP 8.2:

  • Disjunctive normal form (DNF) types enable the combination of union and intersection types, following a strict rule that says when combining union and intersection types, intersection types must be grouped with brackets.
  • A “random” extension provides an object-oriented API to random number generation.
  • The creation of dynamic properties has been deprecated, to help avoid mistakes and typos, unless the class opts in by using the AllowDynamicProperties attribute; stdclass allows dynamic properties.
  • New classes, interfaces, and functions are featured, such as a msqli_execute_query function and a SensitiveParameter attribute.
  • Constants now can be defined in traits.
  • The ${} string interpolation has been deprecated.

PHP 8.1, which featured new capabilities regarding enums, syntax, and read-only properties, arrived in November 2021. It was followed by several point releases.


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK