正在加载中...

已解决:php7.2和php5.6相比有什么优势?

已解决:php7.2和php5.6相比有什么优势?

PHP 7 是跨时代的版本,但是 PHP 7 在 2019 年之后就将不再维护了,PHP 7.1 和 7.2 分别升级了一些特性之后,性能也进行一定的提升,如果你的项目可以选择,直接一步到位选择PHP 7.2。 据了解,PHP 官方宣布在2018年12月31日起 PHP 5.6.x 的安全支持将正式停止,不再维护PHP 5.6  ,那么到时候,你的网站如何还跑在 PHP 5.6 上面的话,将不再安全。WordPress 在2016年2月份起,也在官方安装要求里面,建议使用 PHP 7.0 以上的版本。

PHP 7.2 速度快

PHP 升级到 php7.0 之后,运行效率提高了2-3倍,如果开启 OPCCache,有测试,那么PHP7比 PHP 5.6运行效率快近10倍,天壤之别。这一点升级到 7 之后版本的 WordPress 的博主感受是最深刻的,以前感觉 WordPress 有些慢,但是到了 7 之后,安装了 OPCCache + Memcached 之后,基本都能秒开了。另外搜索引擎对网站速度的要求是第一位的,如果你的网站不能第一时间打开,搜索引擎自然而然就给你降权。

PHP 7.2 新特性很好用

举几个自己最常用的新语法特性:

??语法

日常使用中存在大量同时使用三元表达式和 isset() 的情况,PHP 7添加了null合并运算符 (??) 这个语法糖,如果变量存在且值不为NULL, 它就会返回自身的值,否则返回它的第二个操作数。

比如原来的 PHP 5 的代码:

$username = isset($_GET['user']) ? $_GET['user'] : 'nobody';

就可以简写为:

username = $_GET['user'] ?? 'nobody';

太空船操作符

太空船操作符用于比较两个表达式,比如下面当$a小于、等于或大于$b时它分别返回-1、0或1。

echo $a <=> $b;

如果 PHP 5 的话,你需要这样写:

echo $a > $b ? 1 : ( $a==$b ? 0 : -1 );

短数组语法

现在 list() 支持在它内部去指定键名,这意味着它可以将任意类型的数组 都赋值给一些变量。

$data = [
    ['id' => 1, 'name' => 'Tom'],
    ['id' => 2, 'name' => 'Fred'],];while (list('id' => $id, 'name' => $name) = $data) {
    // logic here with $id and $name}

而在 PHP 7.1.0 之前的版本,list() 仅能用于数字索引的数组,并假定数字索引从 0 开始。

万维景盛工程师建议,您的项目如果可能,直接使用PHP 7.2,为以后的开发和维护可以省去不少麻烦。

很多同学和我说他的主机最高只支持 PHP 7.1,换一个吧,直接使用阿里云服务器吧,直接安装一个宝塔,剩下的都会非常容易,配合安装 OPCCache 和 Memcached,你的博客也会飞起来。

如果你这些都不会,只想安静的做的网站和内容,那么你也可以找我们,我们提供 WordPress 优化服务,当然也可以帮你进行服务器环境安装和管理维护



返回上一页