资讯专栏INFORMATION COLUMN

PHP最近的6个版本到底多了啥?

Panda / 1150人阅读

摘要:从到现在的,经历了几个里程碑式的版本更新,本文为你展示这些版本到底有何变化。新增支持对函数返回数组的成员访问解析,例如。扩展现在能追踪文件的上传进度。内置用于开发的模式的。

从5.3到现在的7.1,PHP经历了几个里程碑式的版本更新,本文为你展示这些版本到底有何变化。

本文来源于PHP官方文档,这里并不会展开,送给有心的小伙伴做研究清单。

PHP 5.3

https://secure.php.net/manual...

添加了命名空间的支持.

添加了静态晚绑定支持.

添加了跳标签支持.

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

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

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

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

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

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

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

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

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

异常可以被内嵌.

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

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

PHP 5.4

https://secure.php.net/manual...

新增支持 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

https://secure.php.net/manual...

新增 Generators

新增 finally 关键字

foreach 现在支持 list()

empty() 支持任意表达式

array and string literal dereferencing ¶

新的密码哈希 API

改进 GD

PHP5.6

https://secure.php.net/manual...

使用表达式定义常量

使用 ... 运算符定义变长参数函数

使用 ... 运算符进行参数展开

使用 ** 进行幂运算

use function 以及 use const

phpdbg

默认字符编码

php://input 是可重用的了

大文件上传(现在可以支持大于 2GB 的文件上传)

GMP 支持运算符重载

使用 hash_equals() 比较字符串避免时序攻击

__debugInfo()

gost-crypto 散列算法

SSL/TLS 提升

pgsql 异步支持

PHP7.0

https://secure.php.net/manual...

标量类型声明

返回值类型声明

null合并运算符

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

通过 define() 定义常量数组

匿名类

Unicode codepoint 转译语法

Closure::call()

为unserialize()提供过滤

IntlChar

预期

Group use declarations

生成器可以返回表达式

Generator delegation

整数除法函数 intdiv()

会话选项

preg_replace_callback_array()

CSPRNG Functions

可以使用 list() 函数来展开实现了 ArrayAccess 接口的对象

其他特性

PHP7.1

https://secure.php.net/manual...

可为空(Nullable)类型

Void 函数

Symmetric array destructuring

类常量可见性

iterable 伪类

多异常捕获处理

list()现在支持键名

支持为负的字符串偏移量

ext/openssl 支持 AEAD

通过 Closure::fromCallable() 将callables转为闭包

异步信号处理

HTTP/2 server push support in ext/curl

有多少不会的?干!!!

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/25638.html

相关文章

  • 老生常谈,new运算符到底了啥

    摘要:冬天来了,好好学习,天天向上。在里面,得益于字面量对象,我们可以轻松的创建出一个对象,比如就可以直接创建对象。而在其它语言里面,无法通过这样的方式创建一个对象,一般会借助构造方法和运算符。 冬天来了,好好学习,天天向上。在js里面,得益于字面量对象,我们可以轻松的创建出一个对象,比如var o = {name: tom},就可以直接创建对象o。而在其它oo语言里面,无法通过这样的方式创...

    roundstones 评论0 收藏0
  • 听说小米进入世界500强啦?解读历年500强数据了解国情

    摘要:上榜较多的国家还有德英法,历年数量一直稳在附近。本年度上榜企业利润情况极少数负利润,大部分纯利润集中在一百亿美元以下。总结从世界五百强年的榜单分析了那么多,有些地方确实值得骄傲。 ​前言: 前几天看到新闻才知道今年的500强已经出炉了,后面又看到小米首次进榜,第468名,雷军蜀黍开心的像个只有几十亿元的小孩子。还特意发了好几条微博: showImg(https://segmentfau...

    aboutU 评论0 收藏0
  • atom和phpcs

    摘要:的编码规范虽然没有像那样集中,有这样的统一标准见我的这篇文章,但也是有规律可循的。最简单的莫过于直接使用,但是真的实在太弱了,所以目前业界比较流行的是使用,简称。在代码规范方面,没有所谓的个人喜好,而只有项目规范。所以目前以及都开始遵循。 php的编码规范虽然没有像javascript那样集中,有eslint这样的统一标准(见我的这篇文章),但也是有规律可循的。最简单的莫过于直接使用p...

    CntChen 评论0 收藏0
  • phpMyAdmin 你值得拥有

    摘要:首先呢,他是开源的,你别说,我就喜欢开源的你懂的其次它是用世界上最好的语言写的,作为资深开发工程师看着亲切的很。 这个家伙一般都是搞 PHP 的人接触的多一些,毕竟有琳琅满目的数据库管理工具。比如我之前用的比较多的是 Navicat for MySQL,这家伙在 Windows 系统上用的还挺顺手的,性能也不错,但是自从换了 Mac 以后,界面也不好看了,操作也不灵活了,打开一张 1w...

    U2FsdGVkX1x 评论0 收藏0

发表评论

0条评论

Panda

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<