php7.3到php7.4新特性
1.对象属性现在支持类型申明
<?php
class User {public int $id;public string $name;
}
?>
上列例子中将会强制转化$id为integer类型,$name为字符串类型
2.箭头函数
现在箭头函数会提供一个短语法用来定义那些在作用域内值申明不明确的函数
<?php
$factor = 10;
$nums = array_map(fn($n) => $n * $factor, [1, 2, 3, 4]);
// $nums = array(10, 20, 30, 40);
?>
3.有限返回类型协方差和参数类型协方差(谷歌翻译的)
下列代码将会运行
<?php
class A {}
class B extends A {}class Producer {public function method(): A {}
}
class ChildProducer extends Producer {public function method(): B {}
}
?>
仅当使用自动加载时,才提供完全差异支持。 在单个文件内,只能使用非循环类型引用,因为所有类在被引用之前都必须可用
4.空合并分配运算符
<?php
$array['key'] ??= computeDefault();
// is roughly equivalent to
if (!isset($array['key'])) {$array['key'] = computeDefault();
}
?>
5.Unpacking inside arrays(谷歌翻译是 在数组内部解包,看这不对,先用英文吧)
<?php
$parts = ['apple', 'pear'];
$fruits = ['banana', 'orange', ...$parts, 'watermelon'];
// ['banana', 'orange', 'apple', 'pear', 'watermelon'];
?>
6.数值字符分隔符
数字字符可以在数字之间包含下划线。
<?php
6.674_083e-11; // float
299_792_458; // decimal
0xCAFE_F00D; // hexadecimal
0b0101_1111; // binary
?>
7.弱参考(Weak references)
弱参考允许编程人员保留对不能防止被销毁的对象的参考(Weak references allow the programmer to retain a reference to an object that does not prevent the object from being destroyed.)
8.允许__toString()的异常
现在可以通过__toString()抛出异常,在之前的版本这会导致一个致命错误,字符串转换中现有的可导致致命错误已转换为抛出异常。
剩下的扩展以后再看
php7.3到php7.4新特性相关推荐
- PHP源码01 - php7编译安转、新特性
环境搭建 虽然php8已经上市,但是系统学习一下php7,初衷的打算是想彻底的掌握PHP的底层原理和语言结构,结合PHP开发PHP扩展.或者是编写一个Swoole的框架,解决实际生产的性能问题,解放生 ...
- PHP7相对于PHP5的新特性,学习猿地-整理PHP5.5 ~ PHP7.2 新特性
PHP5.5 ~ PHP7.2 新特性整理 一.从PHP 5.5.x 移植到 PHP 5.6.x 使用表达式定义常量 在之前的 PHP 版本中, 必须使用静态值来定义常量,声明属性以及指定函数参数默认 ...
- php7 最新版本,总结PHP 7.x 各个版本的新特性
推荐(免费):PHP7 PHP 7.x 各个版本的新特性 前言 上个月同事看见我写$a = $a ?? ''; 问我这个写法是什么,还有这样的写法?我说这是PHP7以上才有的写法,你不知道吗?他说不知 ...
- php7.1函数,PHP7.1常用新特性和函数
在php7发布了之后,官方又紧接着发布了php7.1.php7.2,我们也接着使用了新版本.接下来就说说7.1有那些新的特性. Nullable types 在7的时候,如果使用了强类型就必须传递或者 ...
- PHP7新特性 What will be in PHP 7/PHPNG
来源:http://blog.csdn.net/hguisu/article/details/45094079/ 本文结合php官网和鸟哥相关文章总结: 官网:http://www.php7.ca/ ...
- 浅谈php7的重大新特性_PHP7的新特性和源码结构
一.PHP7的新特性 返回值类型声明 类型声明有两种模式: 弱类型校验模式(默认):当传入的参数不符合声明类型时,会首先尝试转换类型. 严格类型校验模式:当传入的参数不符合声明类型时,直接报错. 声明 ...
- php7.0 yield,PHP7中生成器的新特性 yield-from amp;amp; return-values
生成器委托 简单地翻译官方文档的描述: PHP7中,通过生成器委托(yield from),可以将其他生成器.可迭代的对象.数组委托给外层生成器.外层的生成器会先顺序 yield 委托出来的值,然后继 ...
- php7 ast,PHP7新特性之抽象语法树(AST)带来的变化详解
本文分析了PHP7新特性之抽象语法树(AST)带来的变化.分享给大家供大家参考,具体如下: 这里大部分内容参照 AST 的 RFC 文档而成:https://wiki.php.net/rfc/abst ...
- php数字取反,[转+自]关于PHP7的新特性(涉及取反和disabled_functions绕过)
PHP7和PHP5上的安全区别 preg_replace()不再支持/e修饰符 利用\e修饰符执行代码的后门大家也用了不少了,具体看官方的这段描述: 如果设置了这个被弃用的修饰符, preg_repl ...
- two+few+arguments+php,PHP5.5 ~ PHP7.2 新特性整理
PHP5.5 ~ PHP7.2 新特性整理 一.从PHP 5.5.x 移植到 PHP 5.6.x 使用表达式定义常量 在之前的 PHP 版本中, 必须使用静态值来定义常量,声明属性以及指定函数参数默认 ...
最新文章
- 2021年春季学期-信号与系统-第五次作业参考答案-第十小题
- rbac 一个用户对应多个账号_电商后台系统:管理后台之账号管理(一)
- php %3c php 攻击,web 攻击靶机解题过程
- jar 包又冲突了?如何快速确定与哪个 jar 包冲突?
- Vysor_v1.6.9
- Mongo服务器二进制文件修复,Mongodb-File-Server
- 《使用云计算和大数据进行性能测试》
- linux中postscript如何生成,【转载】如何为Linux生成和打上patch
- Windbg命令学习6(!runaway和~)
- Spark物理图的执行
- python 中的list 转 array 以及 array 转 list 以及array.array numpy.array
- 2021年机修钳工(初级)考试资料及机修钳工(初级)证考试
- [拓扑资料汇总-近期更新中]点集代数拓扑 与泛函共看效果更佳
- 【Leetcode刷题篇】leetcode739 每日温度
- 如何使用Visual Studio查看源代码
- python爬取58同城的兼职信息
- 《挪威的森林》--[日]村上春树
- 推荐一部励志电视剧《山海情》
- html CSS笔记
- PT_二维随机变量:正态分布的可加性/一维随机变量函数与正态分布
热门文章
- cron表达式每一个小时_奥特曼最感人的四个镜头,每一个都戳中泪点,小时候你落泪了吗?...
- 苹果手机如何找回id密码_上海iPhone11苹果手机被偷找回
- Python合并数据、多表连接查询
- 2018最新4k超高清视频编辑,解码,编码,数据压缩,特效合成,调色,影视后期,卡顿慢问题分析
- linux安装网卡驱动失败,Linux下安装网卡执行make install失败
- 用DIV+CSS技术设计的个人电影网站(web前端网页制作课作业)电影网页介绍8页 带报告3900字
- Lambada表达式全面详解
- PySimpleGUI库的查询小程序开发
- Pythonic到底是什么玩意儿?
- Android Studio:使用Camera拍照(三)为相机增加取景蒙板/浮层