Add Support for PHP 8.5, Drop Support for PHP 8.1#129
Add Support for PHP 8.5, Drop Support for PHP 8.1#129Ocramius merged 13 commits intolaminas:3.21.xfrom
Conversation
gsteel
commented
Oct 9, 2025
- Adds Support for PHP 8.5 in Composer
- Upgrades Psalm to latest, fixing or baselining where appropriate
- Psalm upgrade necessitates soft or hard final throughout, but a number of shipped classes have been baselined for this as they are likely extension points.
Signed-off-by: George Steel <george@net-glue.co.uk>
Signed-off-by: George Steel <george@net-glue.co.uk>
Signed-off-by: George Steel <george@net-glue.co.uk>
Signed-off-by: George Steel <george@net-glue.co.uk>
Signed-off-by: George Steel <george@net-glue.co.uk>
Signed-off-by: George Steel <george@net-glue.co.uk>
Signed-off-by: George Steel <george@net-glue.co.uk>
Signed-off-by: George Steel <george@net-glue.co.uk>
Signed-off-by: George Steel <george@net-glue.co.uk>
Signed-off-by: George Steel <george@net-glue.co.uk>
Signed-off-by: George Steel <george@net-glue.co.uk>
|
class must be final should be disabled for src imo. <issueHandlers>
<ClassMustBeFinal>
<errorLevel type="suppress">
<directory name="src" />
</errorLevel>
</ClassMustBeFinal>
</issueHandlers> |
For this lib, perhaps, because it contains quite a few extension points - but even then, it forces us to explicitly state which shipped classes are fit for user inheritance. I'd argue that there are several non-final classes here that could/should be final. Generally speaking, I prefer |
Signed-off-by: George Steel <george@net-glue.co.uk>
|
So... how do we deal with the failures? They are, pretty much: |
|
The only failure is We have |
|
For my reference: https://wiki.php.net/rfc/deprecations_php_8_5#deprecate_arrayobject_and_arrayiterator_with_objects Obviously you already know about this @Ocramius considering you voted on it 😁 |
…l with the PHP deprecation in 8.5 of the same nature. Signed-off-by: George Steel <george@net-glue.co.uk>
|
I've deprecated passing non-array values to Why does this re-implementation of Also, rather than fixing the actual PHP deprecation in the test, I'm effecitively silencing it. |
IIRC it was needed to better mimic array behavior with nested values. This one returns by reference so the code below works: $arrayObject['nested_array']['foo'] = 'bar';Array access has many other quirks so we no longer use it anywhere. zend-config was the biggest consumer I think. |
Yeah, it was more about what we do about it. I'm fine with deprecating our behavior 👍 |
|
Thanks @gsteel! |