您的位置 首页 php

PHP8新特性之构造器属性提升

前言

没有安装PHP8的,可以参考:

说明

 更少的样板代码来定义并初始化属性。  

简介

这个特性,其实说白了就是将原先需要 两步 先定义属性,然后在 构造器 内初始化 )的操作变成了 一步 (直接在构造器参数中 定义并初始化 )。

实例演示

 <?php
/**
 * 今日头条:技术好奇心
 */
// 演示类
class demo
{
        public function __construct(
            public int $a = 3, 
            public int $b = 4
        )       
        {       
    
        }       
}

// 实例化测试 -- 不传参,检测是否在 构造函数 内一并定义并初始化了
$obj = new demo();
echo $obj->a.'-'.$obj->b.PHP_EOL;

// 传参测试 -- 正常传参,检测是否能像普通构造函数那样使用
$obj2 = new demo(10,11);
echo $obj2->a.'-'.$obj2->b.PHP_EOL;

// 结合"命名参数"测试 -- 检测配合“命名参数”新特性的效果
$obj3 = new demo(b:33);
echo $obj3->a.'-'.$obj3->b.PHP_EOL;
  

运行结果:

从上图可以看出,三个例子全都正常运行了。

命名参数不了解的可以参考:

总结

啧啧,又是一个 划水摸鱼 的好技巧。

文章来源:智云一二三科技

文章标题:PHP8新特性之构造器属性提升

文章地址:https://www.zhihuclub.com/153274.shtml

关于作者: 智云科技

热门文章

网站地图