【PHP新特性】PHP8已发布

大家好,我是柏木,曾任Beyond公司的ISMS经理和程序员,目前从事其他工作,拥有丰富的经验。PHP
8于2020年11月发布,但Beyond博客上尚未提及,因此我想借此机会向大家介绍一下。
首先,什么是PHP?
毋庸置疑,它是一种服务器端脚本语言。
它的规范和语法简单易懂,因此学习成本低,应用广泛。它
易于数据库连接等,即使是初学者也能轻松上手。此外,
它的安装也非常便捷。
立即在 CentOS 7 上安装。
$ sudo yum -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm $ sudo yum -y install https://rpms.remirepo.net/enterprise/remi-release-7.rpm $ sudo yum -y install yum-utils $ sudo yum --enablerepo=remi-php80 install php
安装应该已经完成,让我们检查一下版本。
$ php -v PHP 8.0.0 (cli) (构建于:2020 年 11 月 24 日 17:04:03) ( NTS gcc x86_64 ) 版权所有 (c) PHP 团队 Zend Engine v4.0.0-dev,版权所有 (c) Zend Technologies
安装成功。安装过程一如既往地简单。
立即体验新功能
即时
处理速度会更快。然而,对于网页内容来说,这种优势可能并不显著。PHP
中此前一直避免使用的批量处理似乎将会变得更加容易。
不过,由于许多人已经在博客等平台上解释过 JIT(即时编译),我在此不再赘述。
我之所以介绍它,是因为它是一个关键特性。
命名参数
这是一个允许按名称传递参数的新功能。这在其他语言(例如 Python)中已经很常见了。
// 带命名参数的函数 sample01( int $mae = 0, int $ato = 0 ) { var_dump( $mae ); var_dump( $ato ); } // 您可以指定要使用的参数 sample01( mae: 1, ato: 2 ); // 输出结果 // int(1) // int(2) // 您也可以反过来使用参数 sample01( ato: 2, mae: 3 ); // 输出结果 // int(3) // int(2) // 您也可以只使用其中一个参数 sample01( ato: 4 ); // 输出结果 // int(0) // int(4)
匹配表达式
这是一个新功能,允许您像使用三元运算符一样使用类似 switch 语句的处理方式。
$x = 2; $sample02 = match ( $x ) { 1 => '$x 为 1', 2 => '$x 为 2', default => '$x 为其他任何值', }; var_dump($sample02); // 输出结果 // string(8) "$x 为 2"
我只介绍了一些容易尝试的东西,而且
我认为这次的规格没有什么重大变化,但
我觉得仍然有很多东西值得一看。
您应该注意,从 PHP5 或 PHP7 升级时,有些功能和实现方式不向后兼容,这些功能和实现方式仍然存在
我们建议您将当前使用的资源与官方资源进行比较,考虑是否需要升级。
如果您觉得这篇文章有帮助,请点赞!
1