软件截图
PHP v8.0.10官方版更新说明:
- TypedProperties 类型属性
- 类属性现在支持类型声明,以下示例将强制$User->id只能分配int值,而$User->name只能分配string值。
- <?phpclassUser{ publicint$id; publicstring$name;}?>
- ArrowFunctions 箭头函数
- 箭头函数提供了用于定义具有隐式按值作用域绑定的函数的简写语法。
- <?php$factor=10;$nums=array_map(fn($n)=>$n*$factor,[1,2,3,4]);//$nums=array(10,20,30,40);?>
- 将闭包传递给array_map或array_filter等函数时,它可以发挥极大的作用。
- //AcollectionofPostobjects$posts=[/*…*/];$ids=array_map(fn($post)=>$post->id,$posts);
- LimitedReturnTypeCovarianceandArgumentTypeContravariance 有限返回类型协变与参数类型逆变
- 仅当使用自动加载时,才提供完全协变/逆变支持。在单个文件中,只能使用非循环类型引用,因为所有类在被引用之前都必须可用。
- <?phpclassA{}classBextendsA{}classProducer{ publicfunctionmethod():A{}}classChildProducerextendsProducer{ publicfunctionmethod():B{}}?>
- UnpackingInsideArrays 打包内部数组
- <?php$parts=['apple','pear'];$fruits=['banana','orange',…$parts,'watermelon'];//['banana','orange','apple','pear','watermelon'];?>
- NumericLiteralSeparator 数值文字分隔符
- 数字文字可以在数字之间包含下划线。
- <?php6.674_083e-11;//float299_792_458; //decimal0xCAFE_F00D; //hexadecimal0b0101_1111; //binary?>
- WeakReferences 弱引用
- 弱引用使程序员可以保留对对象的引用,不会阻止对象被销毁。
- AllowExceptionsfrom__toString() 允许从__toString()抛出异常
- 现在允许从__toString()引发异常,以往这会导致致命错误,字符串转换中现有的可恢复致命错误已转换为Error异常。
- OpcachePreloading Opcache预加载
- 新增Opcache预加载支持。