[英]Difference between PHP 5.3 to PHP 7.x
当前的稳定版本使用版本号 PHP 5.6。 经过一番争论之后,开发团队决定在下一个主要版本中省略 PHP 6 名称。 PHP 6 过去已经作为一个实验项目存在,但从未进入生产阶段。
Zend 引擎自 1999 年与当时的新 PHP 4 版本一起推出以来一直为 PHP 提供支持。 Zend——不要与 Zend 框架混淆——是一个用 C 语言编写的开源执行引擎,用于解释 PHP 语言。 当前的 PHP 5.X 系列使用 Zend Engine II,它增强了初始引擎的功能,并为语言添加了可扩展的对象模型和显着的性能增强。
PHP 7 收到了一个全新版本的引擎,代号为 PHP#NG(下一代)。 3.两倍的速度
新 PHPNG 引擎最容易识别的优势是显着的性能改进。 PHPNG 开发团队重构了 Zend 引擎,显着优化了内存使用。
结果? 您可以在下面看到 Zend Performance Team 提供的性能基准。 通过使用 PHP 7,您不仅可以更快地执行代码,而且还需要更少的服务器来为相同数量的用户提供服务。
至少可以说,处理致命和可捕获的致命错误对于 PHP 编码人员来说从来都不是一件容易的事。 新的引擎异常将允许您用异常替换这些类型的错误。 如果没有捕获到异常,PHP 将继续返回与当前 5.X 系列相同的致命错误。
新的 \\EngineException 对象不扩展 \\Exception 基类。 这确保了向后兼容性并在错误处理中导致两种不同类型的异常:传统异常和引擎异常。
为了让程序员能够同时捕获这两者,PHP 7 引入了一个名为 \\BaseException 的新共享父类。
PHP 是 LAMP 堆栈的重要成员,这意味着它的原生环境是 Linux——但也可以在 Windows 系统上运行它。 5.X 系列尚不提供 64 位整数或大文件支持,因此直到现在 x64 构建都被认为是实验性的。
PHP 7 将改变这一点,因为它引入了一致的 64 位支持,这意味着本机 64 位整数和大文件都将得到支持,让您将来可以放心地在 64 位 Windows 系统上运行该语言。
Spaceship 运算符以组合比较运算符的正式名称运行。 new 运算符的符号如下所示:<=>(有点像简化的宇宙飞船,如果你想得对的话)。
如果两个操作数相等,则 spacehip 运算符返回 0,如果左侧更大则返回 1,如果右侧更大则返回 -1。 它也被称为三向比较运算符,它已经存在于其他流行的编程语言中,如 Perl 和 Ruby。
您是否曾经想通过声明函数的返回类型来防止意外返回值? 好吧,新的 PHP 7 使开发人员能够在返回类型声明的帮助下提高他们的代码质量。
下图描述了一个非常简单的用例,其中 foo() 函数应该返回一个数组。 在此处查看更复杂的示例
您可以在 php.net 上找到各个主要 PHP 版本的更改日志,包括迁移指南(例如http://php.net/manual/en/migration54.php )。
关于向后兼容性,请查看以下链接: http : //php.net/manual/en/migration70.incompatible.php
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.