PHP turns 28 + PHP Core Roundup 13

Marcos Marcolin β€’ June 9, 2023 β€’ 2 min read

php phpfoundation opensource php-core-roundup php-birthday

PHP Birthday

PHP turns 28 today! 🐘 πŸŽ‰

To celebrate, I'm bringing a summary of the last 2 months in the language's Core.

Releases

The PHP development team shipped two new versions in May 2023.

Version 8.2.6 includes several bug fixes and improvements, mainly in areas like Core, Date, DOM, Exif, Intl, PCRE, Reflection, SPL, Standard, and Streams.

In another release, 8.1.19 includes bug fixes across several components, such as Core, DOM, Exif, Intl, PCRE, and Standard.

RFCs

There were a lot of debates in the PHP Internals mailing list discussions, which is great for the language, since it brings in a lot of improvements! Below I'll mention a few highlights.

This was the most discussed topic over the last 2 months, aiming to create a technical committee to make decisions about technical aspects and serve as a reference for new developments.

This has a lot of upsides, like development quality and standardization, but it would also add more 'bureaucracy' for new contributions, and PHP has always worked pretty well without it, so the community didn't accept it.

Status: rejected.

This discussion suggests defining properties in Interfaces; today it's only possible to define methods that must be mandatorily implemented, and I'm personally in favor of this improvement.

Status: under discussion.

Some contributors started an RFC with a few deprecations for version 8.3, to be removed in 9.0, the main ones being:

  1. The MT_RAND_PHP and NumberFormatter::TYPE_CURRENCY constants.
  2. Unnecessary constants related to the crypt() function, such as CRYPT_BLOWFISH, CRYPT_MD5, and CRYPT_SHA256.
  3. Negative values passed to the mb_strimwidth() function.

Status: under discussion.

The proposal is to add a nameof() function, which would return the name of a variable, class, function, or method as a string. Its usefulness would be mainly for debugging and creating more informative error messages.

Status: under discussion.

Proposes adding a multibyte string pad function to the mbstring extension. This function would work similarly to the existing str_pad() function, but with support for multibyte strings.

Status: under vote.

Other contributions

Several other contributions were made, and other RFCs were discussed, I've only brought a small summary from PHP Core Roundup #13.


Supporting the PHP Foundation

The PHP Foundation supports, promotes, and develops the PHP language. Become a supporter yourself too, it's on OpenCollective and also on GitHub.

To check out everything that's new, click here.

Share: