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

2023-10-04 07:50
文章标签 变化 发生 php5.3 php7.1

本文主要是介绍从PHP5.3到PHP7.1发生了哪些变化,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

摘要:本文来源于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中文网其它相关文章!

这篇关于从PHP5.3到PHP7.1发生了哪些变化的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1615

相关文章

SWAP作物生长模型安装教程、数据制备、敏感性分析、气候变化影响、R模型敏感性分析与贝叶斯优化、Fortran源代码分析、气候数据降尺度与变化影响分析

查看原文>>>全流程SWAP农业模型数据制备、敏感性分析及气候变化影响实践技术应用 SWAP模型是由荷兰瓦赫宁根大学开发的先进农作物模型,它综合考虑了土壤-水分-大气以及植被间的相互作用;是一种描述作物生长过程的一种机理性作物生长模型。它不但运用Richard方程,使其能够精确的模拟土壤中水分的运动,而且耦合了WOFOST作物模型使作物的生长描述更为科学。 本文让更多的科研人员和农业工作者

当你输入一个网址后都发生什么

原文:http://igoro.com/archive/what-really-happens-when-you-navigate-to-a-url/  作为一个软件开发者,你一定会对网络应用如何工作有一个完整的层次化的认知,同样这里也包括这些应用所用到的技术:像浏览器,HTTP,HTML,网络服务器,需求处理等等。 本文将更深入的研究当你输入一个网址的时候,后台到底发生了一件件什么样的事~

c++的静态变化!

静态成员   对于非静态成员,一个类的每个对象都自己存有一个副本,每个对象根据自己拥有的非静态的数据成员来区别于其他对象。而静态成员则解决了同一个类的多个对象之间数据和函数的共享问题。   静态数据成员   静态数据成员的作用是:实现同一类的不同对象之间的数据共享。   #include<IOSTREAM>   using namespace std;   class Po

日本某地发生了一件谋杀案,警察通过排查确定杀人凶手必为4个 嫌疑犯的一个。以下为4个嫌疑犯的供词。

日本某地发生了一件谋杀案,警察通过排查确定杀人凶手必为4个 嫌疑犯的一个。以下为4个嫌疑犯的供词。 A说:不是我。 B说:是C。 C说:是D。 D说:C在胡说 已知3个人说了真话,1个人说的是假话。 现在请根据这些信息,写一个程序来确定到底谁是凶手。  static void Main()         {             int killer = 0;             fo

一个瑞典游戏工作室决定离开索尼,之前和之后都发生了什么?

我们在前两篇中探究了国家政策、硬件基础与黑客文化如何让瑞典成为了游戏热土,而它充满地域特色的开发者社区与教育体系的构建,又是如何聚拢了游戏人才,让体系持续生长扩张。 除了大学、科技园和开发者之家外,我们此行从斯德哥尔摩到舍夫德到马尔默,还采访了三家知名工作室的创始人。它们一家产出如今罕见的双人合作游戏,还有一位特立独行的作者型开发者屡屡占据头条;一家贡献了现象级网红作品,当前在朝“正经向”大

关于Qt在子线程中使用通讯时发生无法接收数据的情况

在多线程应用中,串口通讯或TCP通讯的场景常常涉及到持续的读写操作,如果子线程处理不当,可能会导致信号阻塞问题。本文将通过串口通讯或TCP通讯为例,详细解释如何在多线程环境中避免信号阻塞,并提供代码示例。 1. 问题背景 假设我们在一个应用程序中使用多线程处理串口或TCP通讯,通常会在子线程中实现持续的数据读取。为了确保实时处理数据,常见的做法是在子线程的 run() 方法中使用 while

2409atl,atl3.0到7.0的变化

原文 本文不介绍新的ATL7服务器类和属性.这不是一个完整的列表,只是我目前找到的. 串 串转换宏有一些限制.它从栈中分配内存,可能会在大串时溢出栈.函数退出时,释放该串,而不是在函数内引入的域内释放. 它使用过时OLE2ANSI定义.如果你查看MSDN上对_alloca(来转换)的注意,它说它在SEH或C++EH中使用时有限制. 如,看一下ATL3的串转换宏: USES_CONVER

包拯断案 | 数据库从库GTID在变化 为何没有数据写入@还故障一个真相

提问:作为DBA运维的你是否遇到过这些烦恼 1、数据库从库复制链路如何正确配置表过滤信息? 2、数据库从库的GTID在变化,实际却没有数据写入,究竟是什么原因? 心中有章,遇事不慌 作为DBA的你,遇到问题无从下手,除了在问题面前徘徊,还能如何选择?如果你一次或多次遇到该问题还是 无法解决,又很懊恼,该如何排忧呢?关注公众号,关注《包拯断案》专栏,让小编为你排忧解难~ #包拯秘籍#

2020年SEO行业发展变化和趋势分析!

一、搜索引擎算法发展轨迹 第一阶段:人工目录(1997年-2001年“雅虎早期搜索模式”); 第二阶段:文本分析(2001年-2004年“以关键词和背景颜色一样,堆积大量关键词,就会有非常好的排名; 第三阶段:链接分析(2004年-2009年“以反向链接为核心算法的阶段”),这时行业内有句话是内容为王,外链为皇; 第四阶段:智能分析(2009年-现在“以满足用户人性化需求的用户浏览行为分析

保姆级教学:OC监听网络状态变化 Reachability监听网络变化 ios网络变化

本文主要讲解了,在oc开发中,怎么去使用代码进行网络监听,十分的通俗易懂。 首先,在xcode工程中导入SystemConfiguration框架。 然后导入Reachability.h文件。 Reachability文件 点击下载,也可以按照如下内容创建对应的文件。 Reachability.m //文件名Reachability.m/*Copyright (C) 2016 App