The Getting Ready For PHP 7 Cheat Sheet
我们有多长时间?
如果你现在只是听说这个,不要担心,还有几个月去肯定。 但是,我强烈建议您开始查看您的项目,特别是如果他们不是基于WordPress的。 根据官方时间表,最终版本将在10月中旬。
到目前为止,主机已经慢慢采用新版本的PHP。它变得越来越少,但我仍然看到很多人的代码问题,因为他们的服务器运行PHP 5.3或更低版本,在2012年初被5.4.0替换。(在Kinsta托管的WordPress站点上运行PHP 5.6.11)
我相信这一次的采用率将显着提高,由于技术带来的巨大的速度增加。主机关心这一点,因为它会使他们看起来不错,也将允许他们削减资源,给他们更多的爆炸他们的钱。
简而言之,你有大约2个月的时间,直到最终版本命中,我预测这将是一个问题的天数,信誉良好的主机提供。对于大多数系统,这在开始时是可选的,但是希望处于最前面的主机可能很快就会成为新服务器的默认设置。
会有什么打破?
脚本样式标记和ASP样式标记将不可用(<%和<script language ='php'>)
所有ereg_函数都将被删除,但你可以使用preg_函数
所有的mysql_函数都会被删除,你应该使用mysqli_函数
分割函数将被删除,你可以使用explode来代替
<交换机中的多个默认值。直到现在,使用了最后定义的默认子句。从PHP 7,有多个默认值将导致致命错误。
这不是一个很长的列表,你现在也许不应该使用这些,所以删除任何破损的要求应该是非常低的。
PHP 7新功能
PHP 7中将提供许多新功能,这将使我们的生活更轻松。
组合比较运算符(Spaceship Operator)
添加了称为组合比较运算符的新运算符类型,它是用于比较两个整数值的有用的小工具。这个想法是,通过写$ a $ b,如果两个都相等,我们将结果为0,如果左边较大,则结果为1,如果右边较大,则结果为-1。
空合并运算符
这是我最喜欢的补充之一,因为它不仅使我们从一些繁琐的编码,而且听起来像一个科幻电影处理黑洞的东西。 null合并运算符的目的是允许我们从用户输入设置值,而不必检查值是否已设置。一个快速示例:
$orderby = $_GET['orderby'] ?? 'date'; // equivalent to: $orderby = isset($_GET['orderby']) ? $_GET['orderby'] : 'date';
新类型提示
对于我们使用OOP PHP的人,类型提示是一个强大的工具。 PHP 7将包括一系列新的机制,包括四个新的标量类型(float,int,bool,string)和返回类型提示。我建议阅读上面的链接资源,了解如何以及为什么这是有用的进一步信息。
匿名类
匿名类是为OOP再次惊艳。它们允许您创建未命名的类,当他们不需要记录或只使用一次。文档中的一个快速概括示例:
var_dump(new class($i) { public function __construct($i) { $this->i = $i; } });