不要对不完整的对象调用析构函数(PHP7.1不兼容的更改)

不要对不完整的对象调用析构函数(PHP7.1不兼容的更改),php,constructor,destructor,backwards-compatibility,php-7.1,Php,Constructor,Destructor,Backwards Compatibility,Php 7.1,对于在构造函数执行期间引发异常的对象,现在不再调用析构函数。在以前的版本中,此行为取决于对象是否在构造函数外部引用(例如,通过异常回溯) 我正在对PHP7.1、7.2进行兼容性检查,我不知道如何检查是否应该在本例的代码流中修复某些内容 我想: 在构造函数中调用异常 希望在代码中调用析构函数(以某种方式隐式调用),因为 首先,我认为用户编写的析构函数并不常见。因此,如果类具有\uu destruct()方法,则只需检查该类 然后检查它的构造函数,确保它不会抛出异常,或者它有自己的try/catch

对于在构造函数执行期间引发异常的对象,现在不再调用析构函数。在以前的版本中,此行为取决于对象是否在构造函数外部引用(例如,通过异常回溯)

我正在对PHP7.1、7.2进行兼容性检查,我不知道如何检查是否应该在本例的代码流中修复某些内容

我想:

  • 在构造函数中调用异常
  • 希望在代码中调用析构函数(以某种方式隐式调用),因为
    首先,我认为用户编写的析构函数并不常见。因此,如果类具有
    \uu destruct()
    方法,则只需检查该类

    然后检查它的构造函数,确保它不会抛出异常,或者它有自己的
    try/catch
    ,可以清除析构函数通常会为它清除的任何内容

    我不担心在以前的版本中它是有条件的。只要确保它现在工作干净就行了