您现在的位置是:首页 > PHP框架交流PHP框架交流
PHP8.0新特性(4) 联合类型
上善若水2024-03-05 09:48:48【PHP框架交流】 479人已围观
简介熟悉PHP8.0的新特性,联合类型,现在定义好联合类型后,创建联合类型不对的时候会抛出异常了。联合类型 相较于以前的 PHPDoc 声明类型的组合, 现在可以用原生支持的联合类型声明取而代之,并在运行
熟悉PHP8.0的新特性,联合类型,现在定义好联合类型后,创建联合类型不对的时候会抛出异常了。
联合类型 相较于以前的 PHPDoc 声明类型的组合, 现在可以用原生支持的联合类型声明取而代之,并在运行时得到校验。
class Number {
public function __construct(
private int|float $number//PHP8.0新特性构造器属性提升写法
) {}
}
1.输入数字
$n = new Number(10); // TypeError
var_dump($n);
#打印结果
class Number#1 (1) {
private int|float $number =>
int(10)
}
2.输入小数
$n = new Number(10); // TypeError
var_dump($n);
#打印结果
class Number#1 (1) {
private int|float $number =>
double(10.5)
}
3.输入带引号的小数
$n = new Number("10.5"); // TypeError
var_dump($n);
#打印结果
class Number#1 (1) {
private int|float $number =>
double(10.5)
}
4.输入带引号的整数
$n = new Number("10"); // TypeError
var_dump($n);
#打印结果
class Number#1 (1) {
private int|float $number =>
int(10)
}
5.输入带非数字的字符串
$n = new Number("10a"); // TypeError
var_dump($n);
打印结果,报错!
Fatal error: Uncaught TypeError: Number::__construct(): Argument #1 ($number) must be of type int|float, string given, called in D:\phpstudy_pro\WWW\testphp8_0\PHP8_0\union_types.php on line 10 and defined in D:\phpstudy_pro\WWW\testphp8_0\PHP8_0\union_types.php on line 5
TypeError: Number::__construct(): Argument #1 ($number) must be of type int|float, string given, called in D:\phpstudy_pro\WWW\testphp8_0\PHP8_0\union_types.php on line 10 in D:\phpstudy_pro\WWW\testphp8_0\PHP8_0\union_types.php on line 5
Tags: PHP8.0
很赞哦! (0)
随机图文
-
git 分支开发dev,release本地提交代码总结
git分支是个好东西,可以在自己分支上开发,然后将代码合并到其他分支上便于管理,首次接触分支还是有点迷糊,结合公司代码提交规范,自己回现公司代码提交规范,理清楚的话其实还是蛮简单的.首先准备一个码云仓 -
shiro 退出 设置跳转页面
shiro 只带过滤器已经实现了退出功能,我们只需配置下退出后重定向到登录页面即可,而且我们需要写实现退出的控制器方法. @Bean public ShiroFilterFactory -
thinkphp使用querylist采集笑话网站笔记
thinkphp使用querylist采集笑话网站笔记,使用thinkphp commands命令写法采集小说数据,不多说直接上代码. 1.创建数据采集记录表CREATE TABLE `joke_li -
csv设置utf8格式 导入csv乱码记事本转utf8格式 无须office wps其他软件
我们在项目开发的时候经常会使用csv用来导入导出数据,打开csv的时候文件显示正常,但是遇到特殊符号时,显示乱码,我们一般在php里手动进行转码,有时候比较麻烦,我们直接将原csv转换成utf8格式就