+7 499 938 8452 пн.-пт. 10:00 – 17:00

После смены PHP сайт часто «умирает» не из-за новой версии языка. Ломается код, который годы работал на предупреждениях: в массив пришёл null, в ORM утащили все поля, метод вызвали как статический.

Почему вскрывается именно на обновлении

То, что раньше давало warning в логе, теперь фатал и белый экран. Миграцию планируйте как ревизию кастома, не как «переключить версию в панели хостинга».

ORM: широкая выборка

Запрос без select тянет текстовые поля, служебные колонки и связи. На списке пользователей или сделок это сразу память и диск.

На чём считать результат

На журнале сделок или элементах инфоблока получаете Allowed memory size exhausted.

JOIN и runtime-поля

Константу в условие связи лучше класть через SqlExpression, а не «число в reference наугад». Сложный запрос смотрите итоговым SQL, не по ощущению.

Сигнатуры и «статический» вызов

Переопределённый метод должен совпадать с интерфейсом: типы аргументов, возврат, nullable. Старые библиотеки без типов падают только после смены PHP. Соседняя инструкция по версии PHP в продукте: переход на PHP 8.x.

Если нужно пройти кастом у вас на копии: пакет доработок.



Подписаться на новые материалы раздела:












CAPTCHA

Каталог для ИИ