PHP turns 28 + PHP Core Roundup 13
Marcos Marcolin β’ June 9, 2023 β’ 2 min read
php phpfoundation opensource php-core-roundup 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.
- PHP Technical Committee
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.
- Interface Properties
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.
- Deprecations for PHP 8.3
Some contributors started an RFC with a few deprecations for version 8.3, to be removed in 9.0, the main ones being:
- The
MT_RAND_PHPandNumberFormatter::TYPE_CURRENCYconstants. - Unnecessary constants related to the
crypt()function, such asCRYPT_BLOWFISH, CRYPT_MD5, andCRYPT_SHA256. - Negative values passed to the
mb_strimwidth()function.
Status: under discussion.
- Nameof Operator
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.
mb_str_pad()
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.