整理列出PHP各个版本5.2至8.0、8.1的特性以及区别

657人浏览 / 0人评论

PHP各个版本的官网: PHP文档

这里只列出大概的概要特性,具体的细节以及用法可以查看官网版本文档。

PHP5.2特性

支持json

PHP5.3特性
  • 新增魔术方法、命名空间、const、三元运算符

  • 添加了命名空间的支持

  • 添加了静态晚绑定支持

  • 添加了跳标签支持

  • 添加了原生的闭包(Lambda/匿名函数)支持

  • 新增了两个魔术方法, __callStatic 和 __invoke

  • 添加了 Nowdoc 语法支持, 类似于 Heredoc 语法, 但是包含单引号

  • 使用 Heredoc 来初始化静态变量和类属性/常量变为可能

  • 可使用双引号声明 Heredoc, 补充了 Nowdoc 语法

  • 可在类外部使用 const 关键词声明 常量

  • 三元运算操作符有了简写形式: ?:

  • HTTP 流包裹器将从 200 到 399 全部的状态码都视为成功。

  • 动态访问静态方法变为可能

  • 异常可以被内嵌

  • 新增了循环引用的垃圾回收器并且默认是开启的

  • mail() 现在支持邮件发送日志. (注意: 仅支持通过该函数发送的邮件.)

PHP5.4特性
数组简写 []、 Traits
  • 新增支持 traits 。

  • 新增短数组语法,比如 $a = [1, 2, 3, 4];* 或 *$a = ['one' => 1, 'two' => 2, 'three' => 3, 'four' => 4];

  • 新增支持对函数返回数组的成员访问解析,例如 foo()[0] 。

  • 现在 闭包 支持 $this 。

  • 现在不管是否设置 short_open_tag php.ini

  • 选项,<?= 将总是可用。

  • 新增在实例化时访问类成员,例如: (new Foo)->bar() 。

  • 现在支持 Class::{expr}() 语法。

  • 新增二进制直接量,例如:0b001001101 。

  • 改进解析错误信息和不兼容参数的警告。

  • SESSION 扩展现在能追踪文件的 上传进度 。

  • 内置用于开发的 CLI 模式的 web server 。

PHP5.5 特性
  • yield迭代器、生成器(foreach)--读取大文件时减少内存

  • foreach 现在支持 list()

PHP5.6特性
常量增强、可变函数、命名空间增强
  • 使用表达式定义常量。

  • 使用 ** 进行运算

  • 大文件上传 (现在支持大于2G的上传)

  • php://input 是可重用的

  • pgsql 异步支持

PHP7.0特性

PHP5.6.X到PHP7版本改动比较大的一个阶段版本。

官网地址 :http://php.net/manual/zh/migration70.new-features.php
  • 标量类型声明

  • 返回值类型声明

  • null合并运算符、

  • 太空船操作符(组合比较符)

  • 通过define()定义常量数组

  • 命名空间分组

  • 匿名类

PHP7.1 特性
官网地址 :http://php.net/manual/zh/migration71.new-features.php
  • 可空(Nullable)类型

  • list简写、指定key

  • const常量可指定权限

  • 多异常捕获处理(一个catch)

PHP7.2特性
  • 新的对象类型 【 逆变( contravariant )参数输入和 协变(covariant)

  • 通过名称加载扩展

  • 允许重写抽象方法

  • 使用 Argon2 算法生成密码散列

  • 新增 ext/PDO (PDO 扩展)字符串扩展类型

PHP7.3特性
  • 取数组第一个/最后一个键

PHP7.4特性
  • 数组延展操作符 (...$a)

  • 箭头函数 (=>)

  • 空合并运算赋值

PHP8.0 特性
从php7.4就跳到php8版本了

8.0 是 PHP 语言的一个主版本更新。 它包含了很多新功能与优化项,

  • 命名参数

  • 联合类型

  • 注解、

  • 构造器属性提升

  • match 表达式

  • nullsafe 运算符、

  • JIT

  • 改进了类型系统、错误处理、语法一致性。

PHP8.1特性
PHP 8.1 是 PHP 语言的一个主版本更新。它包含了许多新功能

枚举

只读属性

First-class 可调用语法、

纤程、

交集类型和性能改进等。

全部评论

晴天下起了小雨
2017-10-01 18:00
很喜欢,果断关注了
wjmyly7336064
2017-10-01 18:00
相当实用,赞美了
橘大佬
2017-10-01 18:00
就是有些细节再到位点就好了…