从5.3到如今的7.1,PHP经历了几个里程碑式的版本更新,本文为你展现这些版本到底有何变化。php
本文来源于PHP官方文档,这里并不会展开,送给有心的小伙伴作研究清单。web
PHP 5.3
secure.php.net/manual/zh/m…算法
- 添加了命名空间的支持.
- 添加了静态晚绑定支持.
- 添加了跳标签支持.
- 添加了原生的闭包(Lambda/匿名函数)支持.
- 新增了两个魔术方法, callStatic 和 invoke.
- 添加了 Nowdoc 语法支持, 相似于 Heredoc 语法, 可是包含单引号.
- 使用 Heredoc 来初始化静态变量和类属性/常量变为可能.
- 可以使用双引号声明 Heredoc, 补充了 Nowdoc 语法.
- 可在类外部使用 const 关键词声明 常量.
- 三元运算操做符有了简写形式: ?:.
- HTTP 流包裹器将从 200 到 399 所有的状态码都视为成功。
- 动态访问静态方法变为可能.
- 异常能够被内嵌.
- 新增了循环引用的垃圾回收器而且默认是开启的.
- mail() 如今支持邮件发送日志. (注意: 仅支持经过该函数发送的邮件.)
PHP 5.4
secure.php.net/manual/zh/m…sql
- 新增支持 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
secure.php.net/manual/zh/m…数组
- 新增 Generators
- 新增 finally 关键字
- foreach 如今支持 list()
- empty() 支持任意表达式
- array and string literal dereferencing ¶
- 新的密码哈希 API
- 改进 GD
PHP5.6
secure.php.net/manual/zh/m…php7
- 使用表达式定义常量
- 使用 ... 运算符定义变长参数函数
- 使用 ... 运算符进行参数展开
- 使用 ** 进行幂运算
- use function 以及 use const
- phpdbg
- 默认字符编码
- php://input 是可重用的了
- 大文件上传(如今能够支持大于 2GB 的文件上传)
- GMP 支持运算符重载
- 使用 hash_equals() 比较字符串避免时序攻击
- __debugInfo()
- gost-crypto 散列算法
- SSL/TLS 提高
- pgsql 异步支持
PHP7.0
secure.php.net/manual/zh/m…闭包
- 标量类型声明
- 返回值类型声明
- null合并运算符
- 太空船操做符(组合比较符)
- 经过 define() 定义常量数组
- 匿名类
- Unicode codepoint 转译语法
- Closure::call()
- 为unserialize()提供过滤
- IntlChar
- 预期
- Group use declarations
- 生成器能够返回表达式
- Generator delegation
- 整数除法函数 intdiv()
- 会话选项
- preg_replace_callback_array()
- CSPRNG Functions
- 可使用 list() 函数来展开实现了 ArrayAccess 接口的对象
- 其余特性
PHP7.1
secure.php.net/manual/zh/m…curl
- 可为空(Nullable)类型
- Void 函数
- Symmetric array destructuring
- 类常量可见性
- iterable 伪类
- 多异常捕获处理
- list()如今支持键名
- 支持为负的字符串偏移量
- ext/openssl 支持 AEAD
- 经过 Closure::fromCallable() 将callables转为闭包
- 异步信号处理
- HTTP/2 server push support in ext/curl
有多少不会的?干!!!异步