Не вызывайте деструкторы на незавершенные объекты.
Деструкторы теперь никогда не вызываются для объектов, которые выдают исключение во время выполнения своего конструктора. В предыдущих версиях это поведение зависело от того, была ли ссылка на объект вне конструктора (например, путем обратной трассировки исключения).
Я делаю проверку совместимости для php 7.1, 7.2, и я не делаю, как проверить, должен ли я что-то исправить в потоке кода для этого случая
Я полагаю:
Спасибо
Прежде всего, я думаю, что пользовательские деструкторы не очень распространены. Таким образом, вам нужно только изучить класс, если у него есть __destruct()
метод.
Затем проверьте его конструктор и убедитесь, что он либо никогда не генерирует исключение, либо имеет свой собственный try/catch
это убирает все, что деструктор обычно очищает для него.
Я бы не стал беспокоиться о том, что это будет условно в предыдущих версиях. Просто убедитесь, что он работает чисто сейчас.
Других решений пока нет …