您现在的位置是:首页 > PHP框架交流PHP框架交流
PHP8.2新特性 析取范式 (DNF)类型 允许 null、false 和 true 作为独立类型 Traits 中的常量
上善若水2024-03-06 11:17:55【PHP框架交流】
1583人已围观
简介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)
随机图文
速卖通官方sdk composer扩展包安装
由于速卖通官方有给我们提供扩展包,但是没有提供直接composer安装,导致使用起来有些不方便,由于官方提供的扩展包没有命名空间概念,就使用classmap自动加载方式制作成扩展包,这样不需要额外做任开心一笑, 爆笑简短的段子 ,幽默笑话
1、早上我去菜市场买青菜,我问小贩:“你这菜打过农药吗?”小贩想了想说:“估计打不过。”2、跟一女同事玩打手背的游戏,不小心抓到了她的手,破了一点表皮,然后女同事一脸认真的拿出手机,正在我以为她要拍照php技术提升心得与方法
现在的PHP市场虽然充斥了大量的的PHP开发人员,但这些人当中真正能称得上高手的却寥寥无几。很多公司虽然招聘了一些PHP开发人员,但是由于技术水平不高,导致公司的项目一直堆积。这不仅另公司无奈也让已经入职的PHP开发人员着急,他们也想要在PHP领域更近一步,但却苦于找不到提高自己的方法,下面我们的鸥仔收集了一些PHP大神的一些工作方式、习惯,让大家看看PHP大神们是如何工作,也希望这些方法能帮助到那些想要在PHP领域更近一步的人。35岁+大龄程序员都去哪了?
35岁+程序员在市场上真的不少,有年薪20万的也有年薪100万+的,所以针对是否吃青春饭、大龄程序员是否还有战斗力这个问题,真的是因人而异。其次,本次提问主要包括以下几个部分:35岁+程序员在招聘市场