You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Since PHP has a policy of avoid Breaking Changes in "minor" releases, the library should in theory be compatible with any PHP 8.x. In practice, each PHP release has a small number of breaking changes, which might require small adjustments. (Note that there will be a larger list of new Warnings and Deprecations, but fixing these is not essential to consider the library compatible.)
"Tentative return types" are a concept only introduced in PHP 8.1 (as a step towards a PHP 9.0 or later change); so this library won't care about them at all
There are a bunch of uses of this. There is a slim chance that one of them was accidentally relying on this behaviour.
ksort() and krsort() now do numeric string comparison under SORT_REGULAR using the standard PHP 8 rules now.
This seems to be about comparing mixed lists of strings and numbers.
There are a handful of uses of these functions in the library; it's unlikely any are affected, but we could look closely to be sure.
var_export() no longer omits the leading backslash for exported classes, i.e. these are now fully qualified.
Non-debug uses are in bin/classmap_generator.php, library/Zend/CodeGenerator/Php/Parameter.php, library/Zend/Serializer/Adapter/PhpCode.php, and library/Zend/Config/Writer/Array.php
It's unlikely these will break with the extra backslash, but we could test each to be sure.
None of the uses of var_export makes any assumption about the exact shape of the output, only that it's valid PHP. If anything, the change will improve them, by outputting code that could be executed correctly in a namespaced context.
None of the uses of ksort or krsort seem to be making any strong assumptions about the order of data, except in the case of some which are using only numeric keys anyway.
Since PHP has a policy of avoid Breaking Changes in "minor" releases, the library should in theory be compatible with any PHP 8.x. In practice, each PHP release has a small number of breaking changes, which might require small adjustments. (Note that there will be a larger list of new Warnings and Deprecations, but fixing these is not essential to consider the library compatible.)
For PHP 8.2, the manual lists the following incompatible changes. Once we have checked all of them, it should be safe to consider the library "PHP 8.2 compatible".
glob()
; most already assume the result is an array\Zend_Cache_Backend_File::_clean
does explicitly check forfalse
, but only to shortcut the function and avoid aforeach
loopsetlocale()
is to fetch the current setting (setlocale(LC_ALL, 0)
)bin/classmap_generator.php
,library/Zend/CodeGenerator/Php/Parameter.php
,library/Zend/Serializer/Adapter/PhpCode.php
, andlibrary/Zend/Config/Writer/Array.php
The text was updated successfully, but these errors were encountered: