PHP7 特性

字数 345阅读 77

新特性

  • 7.2与7.1的区别
    1. 允许重写抽象方法(Abstract method)
    2. 通过名称加载扩展 dl() 但PHP-FPM模式下禁用此函数
    3. 新增 ext/PDO(PDO扩展) 字符串扩展类型
    4. 允许分组命名空间的尾部逗号

  • 7.1与7.0的区别
    1. 可为空(Nullable)类型
    2. Void 函数
    3. 短数组语法([])现在作为list()语法的一个备选项,可以用于将数组的值赋给一些变量
      1. list($id1, $name1) = [2,4] 等价于 [$id1, $name1] = [2,4];
      2. foreach 中也可以使用list
    4. 类常量可见性
    5. 多异常捕获处理 如(FirstException | SecondException $e)
    6. 支持为负的字符串偏移量(从字符串末尾开始计算)
    7. ext/openssl 支持 AEAD
    8. 通过 Closure::fromCallable() 将callables转为闭包
    9. 异步信号处理 pcntl_async_signals() 的方法现在被引入, 用于启用无需 ticks

  • 7.0与5.x的区别
    1. 标量类型声明 函数/方法中的参数,是可以加一个类型声明的,php5.x支持的这个类型不多,php7增加了几个
    2. 返回值类型
    3. null合并运算符(??)
      1. $a = $b ?? 'a' 等价于 $a = isset($b) ? $b : 'a'
    4. 太空船操作符(组合比较符)
    5. define 定义数组常量
    6. 匿名类
    7. use分组命名空间
    8. 新增整数整除的函数intdiv()
    9. 新增的随机函数
      1. random-bytes
      2. random-int