Беда с переходом на 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
Так я и не говорил про production версию =) В любом случае нужно будет обновлять код если найдутся несовместимости, а это тоже время. Пока оттестируешь, как раз выйдет пара обновлений.
Вот тут список расширений со статусом совместимости с PHP 8:
https://blog.remirepo.net/post/2020/09/21/PHP-extensions-status-with-upcoming-PHP-8.0
imagick и ssh2 уже совместимы, но не выпущены релизы.
А вот memcache и ioncube действительно не совместимы. Для memcache есть ветка так что вероятно будет в обозримом будущем.
А вот memcache и ioncube действительно не совместимы.Ну слава богу, а я думал это у меня совсем не из того места руки выросли.
Query Builder или что имеется в виду?
В смысле не юзать ORM, а просто более низкую прослойку из этого инстурмента — быстро и понятно
Некоторые ORM и юзают сами, хотя с DoctrineORM конкурируют
Как минимум, ввод этой функционала сломает логику (array) $object
Во вторых не сломает, так как по умолчанию останется таким же, как и сейчас.
А в каких случаях это (array) $object
реально нужно?
Теоретически, если нам надо сделать агрегацию для массива объектов по полям, то приведя их к массивам это может оказаться проще и дешевле. Ну это так — сферическое предположение в вакууме.
class A{
int $a;
int $b;
///100500 таких же свойств
}
Из массива таких объектов получить объект с максимальными значениями свойств. В случае кастования к массиву оно будет проще в реализации.
PHP-Дайджест № 193 (16 – 30 ноября 2020)