您现在的位置是:首页 > PHP框架交流PHP框架交流
PHP8.2新特性 析取范式 (DNF)类型 允许 null、false 和 true 作为独立类型 Traits 中的常量
上善若水2024-03-06 11:17:55【PHP框架交流】 1306人已围观
简介PHP8.2新特性析取范式(DNF)类型,DNF类型允许我们组合union和intersection类型,遵循一个严格规则:组合并集和交集类型时,交集类型必须用括号进行分组。1.析取范式
PHP8.2新特性 析取范式 (DNF)类型,DNF 类型允许我们组合 union 和 intersection类型,遵循一个严格规则:组合并集和交集类型时,交集类型必须用括号进行分组。
1.析取范式 (DNF)类型
旧版本写法
class Foo {
public function bar(mixed $entity) {
if ((($entity instanceof A) && ($entity instanceof B)) || ($entity === null)) {
return $entity;
}
throw new Exception('Invalid entity');
}
}
新版写法
class Foo {
public function bar((A&B)|null $entity) {
return $entity;
}
}
2.允许 null、false 和 true 作为独立类型
class Falsy
{
public function almostFalse(): bool { /* ... */ *}
public function almostTrue(): bool { /* ... */ *}
public function almostNull(): string|null { /* ... */ *}
}
新版将null,false,true独立出来了。
class Falsy
{
public function alwaysFalse(): false { /* ... */ *}
public function alwaysTrue(): true { /* ... */ *}
public function alwaysNull(): null { /* ... */ *}
}
3.Traits 中的常量
trait Foo
{
public const CONSTANT = 1;
}
class Bar
{
use Foo;
}
var_dump(Bar::CONSTANT); // 1
var_dump(Foo::CONSTANT); // Error
您不能通过 trait 名称访问常量,但是您可以通过使用 trait 的类访问常量。
4.新的“随机”扩展
新的随机扩展官方文档https://www.php.net/manual/zh/book.random.php
随机”扩展为随机数生成提供了一个新的面向对象的 API。这个面向对象的 API 提供了几个类(“引擎”),提供对现代算法的访问,这些算法在对象中存储其状态,以允许多个独立的可播种序列,而不是依赖于使用 Mersenne Twister 算法的全局种子随机数发生器(RNG)。
\Random\Randomizer 类提供了一个高级接口来使用引擎的随机性来生成随机整数、随机排列数组或字符串、选择随机数组键等。
Tags: PHP8.2
很赞哦! (0)
随机图文
-
哄老婆开心的笑话,爆笑小笑话,逗女友开心
1、开学第一天我就把同桌打了一顿,老师说要我叫家长。我说:没事,我自己一个人就能打赢他!2、一同学发说说:“请问一下,学校军训的枪是自己带还是学校发啊?在线等。。。”我在下面回复道:“都是自己带的,我家没有,你家要是枪多的话,帮我带一把!”3、老婆不知为何突然生气骂我,我哄了半天她才冷静下来问:“你现在知道你错在哪里了吗?”我怒道:“你什么意思?难道我没有错就不能被你骂了?”4、晚上和 -
sql优化 GROUP BY多字段分组 分页查询速度慢
项目中遇到一个网页十分的卡慢,逐条排查,将sql放进去执行,执行时间居然高达19秒,怪不得慢,于是请教大佬,最后sql控制在1到两秒之间,现在想想,不同的写法,sql的执行效率真是天差地别呀!首先我们 -
spriingboot之mybatis 一对多关联查询
在接触mybatis时,只会使用mapper提供的单表查询,关联查询需要配置xml完成,整理了使用@Results注解完成表的关联查询.参考博客:https://blog.csdn.net/zhous -
这些哭笑不得的冷笑话,你被哪个逗笑?
1.皮卡丘去找喷火龙借钱,喷火龙不借让他去找杰尼龟,然后杰尼龟说:不借,你是不是以为我只会说杰尼杰尼? 2.我对象说今年过年回家看我父母 象说:不了 3.阿基米德说:给我一个支点,我能用杠杆撬动整个地球! 投资机构:这个三倍杠杆拿去不谢。 第二天,阿基米德发现自己亏了2个地球! 4.“我以前也不懂事,后来被人打了一顿。” “就变懂事了?” “还是不懂事,但不敢嚣张了。” 5.下水