PHP 8版本和功能介绍

PHP 8计划于2020年11月26日发布。PHP8目前处于beta版本。PHP8是主要版本,与以前的版本相比有重大更改。新功能和显着更改包括。

这是PHP的新主要版本,这意味着它将引入一些重大更改,以及许多新功能和性能改进。

PHP 8版本和功能介绍-第1张-菜鸟建站

主要特点–

即时编译

PHP 8将使用JIT编译器,对于某些用例,它可以提供实质性的性能改进。

什么是JIT?

JIT是一种编译器策略,它将代码表述为一种中间状态,在运行时将其转换为依赖于体系结构的机器码,并即时执行,在PHP8中,Zend VM不需要解释某些操作码,并且这些指令将直接作为CPU级指令执行。

匹配match表达式

PHP 8引入了match语句,该功能将类似于switch语句。

在以前我们可能会经常使用switch做值转换类的工作,类似:

function convert($input) {
    switch ($input) {
        case "true":
            $result = 1;
        break;
        case "false":
            $result = 0;
        break;
        case "null":
            $result = NULL;
        break;
    }
    return $result;

}

那么如果使用match关键字呢,可以变成类似:

function converti($input) {
    return match($input) {
        "true" => 1,
        "false" => 0,
        "null" => NULL,
    };
}

相比switch, match会直接返回值,不再需要上面switch例子中的$result中间变量。
并且,类似switch的多个case一个block一样,match的多个条件也可以写在一起

类型更改和添加

PHP 8引入了联合类型,例如–静态返回类型和新的混合类型。

还有其他一些功能–

  • 以负索引开头的数组

  • 无效算术/按位运算符的TypeError

  • 重新分类各种发动机错误

  • 内部功能的一致类型错误

  • 不兼容的方法签名的致命错误

  • 与语言环境无关的浮点数到字符串的转换

  • 可变语法调整

  • 命名参数

  • 空安全运算符

  • 非捕获渔获

  • 抛出表达


猜你喜欢

php支持多线程吗?为什么php多线程没人用?

php支持多线程吗?为什么php多线程没人用?

php的多线程,对于phper是一个较冷门的知识。相信很多工作了很多年的程序员,没用过php多线程的大有人在。所以可以认为php是单线程。什么是多线程?线程(thread) 是操作系统能够进行运算调度的最小单位。它被包含在进程之中,是进程中的实际运作单位。一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务.使用多...

PHP教程:php页面静态化 纯静态与伪静态相关原理、实现方法

PHP教程:php页面静态化 纯静态与伪静态相关原理、实现方法

为什么要静态化页面?当用户访问一个不经常更新的Web页面,PHP接到指示对php脚本文件进行解析,从数据库查询到该页面所需要的数据,然后对页面模板进行渲染,最后将一个成品页面展示给用户。单次请求对于服务器来说非常简单,处理起来非常快,但是如果同时有成千上万各用户请求该页面呢?这无疑是对资源的一种浪费,这就是我们要做静态的目的。 静态化分为纯静态与伪...

评论列表

发表评论