登录  /  注册

从PHP5.3到PHP7.1发生了哪些变化

巴扎黑
发布: 2017-08-16 09:34:44
原创
2446人浏览过


摘要:本文来源于php官方文档,这里并不会展开,送给有心的小伙伴做研究清单。php 5.3https://secure.php.net/manual...添加了命名空间的支持.添加了静态晚绑定支持.添加了跳标签支持.添加了原生的闭包(lambda/匿名函数)支 ...

本文来源于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

  • 整数除法函数 intp()

  • 会话选项

  • 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

以上就是从PHP5.3到PHP7.1发生了哪些变化的详细内容,更多请关注php中文网其它相关文章!

智能AI问答
PHP中文网智能助手能迅速回答你的编程问题,提供实时的代码和解决方案,帮助你解决各种难题。不仅如此,它还能提供编程资源和学习指导,帮助你快速提升编程技能。无论你是初学者还是专业人士,AI智能助手都能成为你的可靠助手,助力你在编程领域取得更大的成就。
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
关于CSS思维导图的课件在哪? 课件
凡人来自于2024-04-16 10:10:18
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2024 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号