发布于: 2022-07-30 11:43:39

1、 联合类型

一个变量可以定义多种数据类型

function sumNum(int|float $numX, int|float $numY){

    return $numX+$numY;

}

2、命名参数

调用函数时跟上key和value

user(name:'',age:1,sex:1)


3、空运算符

以前从数据库查询出数据需要判断,空对象调用会出错。php8可以直接调用

php7及以前

if($user){

    $country = $user->country;

}


php8

$country = $user?->country;

还可以连续调用 

$country = $company?->$user?->country;


4、构造函数属性提升

以前类的属性要先定义,才能从构造函数传值给类属性,比较繁琐,php8以后可以直接在构造函数里定义类属性

class Person{

    public string $name;

    public int $gender;

    public function __construct(string $name, int $gender){

        $this->name = $name;

        $this->gender = $gender;

    }

}

php8可以这样:

class Person{

    public function __construct(public string $name, public int $gender){

    }

}

延伸阅读
    发表评论