php7 :?_PHP 7:您需要了解的10件事

您是网站开发人员还是网站所有者? 您的网站是否在支持PHP的CMS(例如WordPress,Drupal,Joomla或Magento)上运行? 然后,我对您来说是个好消息:新PHP 7的功能完善的beta版最近发布了 。 7.0.0主要版本包含了许多很酷的功能,因此我们决定在此发布整个文章。 但是首先,我们需要提醒一些注意事项。

请注意,PHP 7仍处于开发阶段,因此直到11月发布最终版本时,才可以在生产环境中使用它 。 如果作为未来的用户希望在开发过程中获得应有的份额,那么您可以帮助下载最新的beta ,在测试环境中试用它,并报告在测试中发现的错误 。 要确定下一个Beta何时发布,这是项目时间表

顺便说一句,让我们看看PHP 7。

1.名称PHP 7(非6)

当前的稳定版本使用版本号PHP 5.6 。 经过一番争论后 ,开发团队决定将其下一个主要版本PHP 6名称省略。 PHP 6过去已经作为实验项目存在,但从未进入生产阶段。

为了防止用户将以前的尝试与最新的开发混淆在一起,新的主要版本将以PHP 7的名称运行。

PHP 7徽标
图片:软件开发时间
2.打品牌的新Zend引擎

Zend引擎自1999年在当时新PHP 4版本中引入以来一直为PHP提供支持。 Zend(不要与Zend框架混淆)是一个用C编写的开源执行引擎,用于解释PHP语言。 当前PHP 5.X系列使用Zend Engine II ,它增强了初始引擎的功能,并增加了可扩展的对象模型和对该语言的显着性能增强

PHP 7收到了一个全新版本的引擎,其代号为PHP#NG(下一代)

PHPNG引擎
图片:有关ZendCon-2014的演讲
3.两倍的速度

新PHPNG引擎最容易识别的优势是性能的显着提高。 PHPNG的开发团队重构了Zend Engine,并显着优化了内存使用。

结果? 您可以在下面查看Zend Performance Team提供的性能基准。 通过使用PHP 7,不仅可以更快地执行代码,而且还需要更少的服务器来为相同数量的用户提供服务

PHP 7性能WordPress
PHP 7性能PHP框架
图像:Zend.com
4.促进错误处理

至少可以说,对于PHP程序员而言,处理致命错误和可捕获的致命错误从来都不是一件容易的事。 新的引擎异常将使您可以用异常替换这类错误。 如果未捕获到异常,PHP将继续返回与当前5.X系列相同的致命错误。

新的\ EngineException对象不会扩展\ Exception基类。 这样可以确保向后兼容,并在错误处理中导致两种不同的异常: 传统 异常引擎异常

为了使程序员能够同时抓住两者,PHP 7引入了一个新的共享父类 ,名为\ BaseException

引擎异常
图像:Wiki.PHP.net
5. 64位Windows系统支持

PHP是LAMP堆栈的杰出成员,这意味着其本机环境是Linux-但也可以在Windows系统上运行它 。 5.X系列尚未提供64位整数或大文件支持,因此直到现在,x64构建仍被视为试验性的

PHP 7将引入一致的64位支持 ,这将改变这种情况,这意味着将支持本机64位整数和大文件,从而使您将来可以放心地在64位Windows系统上运行该语言。

Windows x64内置支持
6.新的太空飞船和空联合运营商

宇宙飞船的运营商联合比较运营商的正式名称运行。 新运算符的符号如下所示: <=> (如果您认为正确的话,有点像简化的太空船)。

如果两个操作数相等,则空间运算符返回0;如果左边较大,则返回1;如果右边较大,则返回-1。 它也称为三向比较运算符 ,它已经存在于其他流行的编程语言中,例如Perl和Ruby。

飞船操作员
图像:Wiki.PHP.net

Null合并运算符用两个问号(??)表示。 当您要检查是否存在某些内容并返回默认值(如果不存在)时,可以使用它。 合并运算符返回其第一个操作数(如果存在且不为null)的结果,如果有其他情况,则返回第二个操作数的结果。

这是新操作符如何减少基本声明所花费的时间:

新的空合并运算符
图像:Wiki.PHP.net
7.启用准确的类型声明

您是否曾经想过通过声明函数的返回类型来防止意外的返回值? 好吧,新PHP 7使开发人员可以在返回类型声明的帮助下提高代码质量。

下图描述了一个非常简单的用例,其中foo()函数应该返回一个数组。 在这里查看更复杂的示例。

返回类型声明
图像:Wiki.PHP.net

为了进一步增强功能,PHP 7引入了4个用于标量类型的新类型声明: int,float,stringbool 。 新的标量类型允许开发人员表示他们期望返回整数,浮点数,字符串或布尔值。 PHP 7引入的新标量类型也将由参数类型提示Type Hints)支持,该参数使开发人员可以强制使用自PHP 5.X系列以来的参数类型。

8.添加匿名类

PHP 7使您可以使用匿名类 ,这在其他面向对象的语言(如C#和Java)中已经是一种公认​​的惯例。 匿名类是没有名称的类。 它实例化的对象具有与命名类的对象相同的功能。

语法与我们在传统PHP类中使用的语法相同,只是名称丢失。 如果匿名类使用得当,它们可以加快编码速度,并缩短执行时间 。 当一个类在执行期间仅使用一次并且不需要记录一个类时,匿名类非常有用。

匿名类
图像:Wiki.PHP.net
9.促进从相同名称空间的导入

新的“ 组使用声明”功能对于那些想从同一个命名空间中导入许多类的人来说是一个福音。 新的语法减少了冗长的内容,使您的代码更加整洁和轻松,并节省了大量的键入时间。

通读和调试代码也将更加容易,因为组使用声明可帮助您识别属于同一模块的导入。

新的团体使用声明
图像:Wiki.PHP.net
10.打扫房间

PHP 7的目标是释放空间以进行改进,因此有必要摆脱许多不推荐使用的功能以及旧的和不受支持的Server API和扩展。 如果您想查看其中的详细信息,请单击此处此处

PHP 5中不推荐使用所有删除的项目,因此很可能您已经很长时间没有使用它们了。 但是请注意,如果您有在旧版本PHP 上运行的旧版应用程序则新PHP 7可能会破坏代码

打扫房间

翻译自: https://www.hongkiat.com/blog/php7/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值