• 首页
  • vue
  • TypeScript
  • JavaScript
  • scss
  • css3
  • html5
  • php
  • MySQL
  • redis
  • jQuery
  • OOP 变更日志

    PHP 5 OOP 模型的变更将被记录在此。功能的描述与其他相关注意事项记录在了 OOP 5 文档之中。

    版本说明
    7.0.0 Trait 里定义兼容的属性不再产生错误信息。
    5.6.0增加:__debugInfo()方法。
    5.5.0增加:::class魔法常量。
    5.5.0增加:finally来处理异常。
    5.4.0增加:traits。
    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块结构捕获,并会导致一个致命错误。现在在一个前提下catch块能够捕获 __autoload 函数中抛出的错误。如果抛出一个自定义异常,这个自定义异常的类必须是可用的。否则 __autoload 函数可能递归自动加载这个自定义异常类。
    5.3.0新增:__callStatic方法。
    5.3.0新增:heredoc和nowdoc支持类的常量和属性的定义。注意:heredoc 值必须和双引号字符串遵循同样的规则(比如,变量将被替换)。
    5.3.0新增:后期静态绑定。
    5.3.0新增:__invoke方法。
    5.2.0已变更:__toString方法仅在直接与echo或print使用时被调用。但是现在它能在任何字符串上下文被调用(比如在printf()中使用%s),但不是在其他类型的上下文被调用(例如%d修饰符)。自 PHP 5.2.0 起,将不具有__toString方法的对象转化为字符串将导致一个E_RECOVERABLE_ERROR级别的错误。
    5.1.3已变更:在 PHP 5 之前的版本,var的使用已被废弃,并将产生一个E_STRICT级别的错误。现在它不再被废弃,因此也不会产生错误。
    5.1.0已变更:现在__set_state静态方法在var_export()导出类时会被调用。
    5.1.0新增:__isset和__unset方法。

    上篇:对象序列化

    下篇:抽象类