OOP 变更日志

对 PHP OOP 模型的更改记录在此处。有关这些功能的描述和其他说明在 OOP 模型文档中有所说明。

版本 描述
8.1.0 添加:支持 final 修饰符用于类常量。此外,接口常量默认情况下可被覆盖。
8.0.0 添加:支持 nullsafe 运算符 ?-> 用于访问可能为 null 的对象的属性和方法。
7.4.0 更改:现在可以在 __toString() 中抛出异常。
7.4.0 添加:支持有限的返回类型协变和参数类型逆变。只有在使用自动加载的情况下,才能完全支持协变和逆变。在单个文件中,仅允许非循环类型引用。
7.4.0 添加:现在可以对类属性进行类型化。
7.3.0 不兼容:使用非 int 键的 Traversable 的参数解包不再受支持。这种行为并非预期,因此已被删除。
7.3.0 不兼容:在以前的版本中,可以通过分配引用来分离静态属性。此功能已被删除。
7.3.0 更改:instanceof 运算符现在允许字面量作为第一个操作数,在这种情况下,结果始终为 false
7.2.0 弃用:__autoload() 方法已被弃用,取而代之的是 spl_autoload_register()
7.2.0 更改:以下名称不能用于命名类、接口或特性:object
7.2.0 更改:现在可以在命名空间的组使用语法中添加尾随逗号。
7.2.0 更改:参数类型扩展。现在可以省略重写方法和接口实现中的参数类型。
7.2.0 更改:当抽象类扩展另一个抽象类时,现在可以覆盖抽象方法。
7.1.0 更改:以下名称不能用于命名类、接口或特性:voiditerable
7.1.0 添加:现在可以指定 类常量的可见性
7.0.0 弃用:对未声明为静态的方法进行 静态 调用。
7.0.0 弃用:PHP 4 样式的 构造函数。即与定义它们的类名称相同的类方法。
7.0.0 添加:组使用声明:从同一命名空间导入的类、函数和常量现在可以组合在单个使用语句中。
7.0.0 添加:通过 new class 添加了对 匿名类 的支持。
7.0.0 不兼容:迭代非 Traversable object 现在将与通过引用迭代 array 具有相同的行为。
7.0.0 更改:在两个已使用的 特性 中定义(兼容)属性不再触发错误。
5.6.0 添加:__debugInfo() 方法。
5.5.0 添加:::class 魔术常量。
5.5.0 添加:finally 用于处理异常。
5.4.0 添加:特性
5.4.0 更改:如果 抽象 类为 构造函数 定义了一个签名,那么现在将强制执行该签名。
5.3.3 更改:与 命名空间 类名称的最后一个元素同名的类方法将不再被视为 构造函数。此更改不影响非命名空间类。
5.3.0 更改:实现了具有原型中具有默认值的类方法的接口的类不再需要匹配接口的默认值。
5.3.0 更改:现在可以使用变量引用类(例如,echo $classname::constant;)。变量的值不能是关键字(例如,selfparentstatic)。
5.3.0 更改:如果将魔术 重载 方法声明为 static,则会发出 E_WARNING 级别的错误。它还强制执行 public 可见性要求。
5.3.0 更改:在 5.3.0 之前,在 __autoload() 函数中抛出的异常无法在 catch 块中捕获,并且会导致致命错误。现在,在 __autoload 函数中抛出的异常可以在 catch 块中捕获,但有一个前提。如果抛出自定义异常,则自定义异常类必须可用。__autoload 函数可递归地用于自动加载自定义异常类。
5.3.0 添加:__callStatic 方法。
5.3.0 添加:heredocnowdoc 支持类 _const_ 和属性定义。注意:heredoc 值必须遵循与双引号字符串相同的规则(例如,内部不允许使用变量)。
5.3.0 添加:延迟静态绑定
5.3.0 添加:__invoke() 方法。
5.2.0 更改:__toString() 方法仅在直接与 echoprint 组合时才会被调用。但是现在,它在任何 string 上下文中被调用(例如,在 printf() 中使用 %s 修饰符),但在其他类型上下文中没有被调用(例如,使用 %d 修饰符)。从 PHP 5.2.0 开始,将没有 __toString 方法的 object 转换为 string 会发出 E_RECOVERABLE_ERROR 级别的错误。
5.1.3 更改:在 PHP 5 的早期版本中,使用 var 被认为已弃用,并且会发出 E_STRICT 级别的错误。它不再被弃用,因此不会发出该错误。
5.1.0 更改:现在对由 var_export() 导出的类调用 __set_state() 静态方法。
5.1.0 添加:__isset()__unset() 方法。

添加备注

用户贡献备注

此页面没有用户贡献的备注。
To Top