Comments 20
Беда с переходом на PHP 8 началась с того что некоторые расширения не обновлены. Я столкнулся с 2мя:
- imagick — вообще нет релиза с поддержкой php 8, в issue на github конкретики не наблюдается, хотя кому-то удалось собрать последний RC под Linux из исходников.
- redis — нет dll для windows, но в changelog есть упоминание поддержки PHP 8.
Видимо придется какое-то время подождать =(
github.com/Imagick/imagick/archive/master.zip
собирается и работает. Но с ним какие-то другие косяки там были из-за которых использовал только тот который с pecl.php.net
Ждемс полноценного обновления…
ioncube тоже пока нет под php8
Вот тут список расширений со статусом совместимости с PHP 8:
https://blog.remirepo.net/post/2020/09/21/PHP-extensions-status-with-upcoming-PHP-8.0
imagick и ssh2 уже совместимы, но не выпущены релизы.
А вот memcache и ioncube действительно не совместимы. Для memcache есть ветка так что вероятно будет в обозримом будущем.
Как минимум, ввод этой функционала сломает логику (array) $object
Во вторых не сломает, так как по умолчанию останется таким же, как и сейчас.
А в каких случаях это (array) $object
реально нужно?
Теоретически, если нам надо сделать агрегацию для массива объектов по полям, то приведя их к массивам это может оказаться проще и дешевле. Ну это так — сферическое предположение в вакууме.
class A{
int $a;
int $b;
///100500 таких же свойств
}
Из массива таких объектов получить объект с максимальными значениями свойств. В случае кастования к массиву оно будет проще в реализации.
PHP-Дайджест № 193 (16 – 30 ноября 2020)