您现在的位置是:首页 > PHP框架交流PHP框架交流
PHP8.2新特性 析取范式 (DNF)类型 允许 null、false 和 true 作为独立类型 Traits 中的常量
上善若水2024-03-06 11:17:55【PHP框架交流】 188人已围观
简介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.小芳决定下个星期日结婚,她写信把这件大喜事告诉在外地打工的弟弟。信上这样写着:这个星期日,是我大洗的日子,请回。一个星期后,小芳收到一个大包裹和一封信,是弟弟寄来的。信的内容是:劳动紧张,不能回家,只得将脏衣服寄 -
php技术提升心得与方法
现在的PHP市场虽然充斥了大量的的PHP开发人员,但这些人当中真正能称得上高手的却寥寥无几。很多公司虽然招聘了一些PHP开发人员,但是由于技术水平不高,导致公司的项目一直堆积。这不仅另公司无奈也让已经入职的PHP开发人员着急,他们也想要在PHP领域更近一步,但却苦于找不到提高自己的方法,下面我们的鸥仔收集了一些PHP大神的一些工作方式、习惯,让大家看看PHP大神们是如何工作,也希望这些方法能帮助到那些想要在PHP领域更近一步的人。 -
php技术提升心得与方法
现在的PHP市场虽然充斥了大量的的PHP开发人员,但这些人当中真正能称得上高手的却寥寥无几。很多公司虽然招聘了一些PHP开发人员,但是由于技术水平不高,导致公司的项目一直堆积。这不仅另公司无奈也让已经入职的PHP开发人员着急,他们也想要在PHP领域更近一步,但却苦于找不到提高自己的方法,下面我们的鸥仔收集了一些PHP大神的一些工作方式、习惯,让大家看看PHP大神们是如何工作,也希望这些方法能帮助到那些想要在PHP领域更近一步的人。 -
springboot博客搭建教程 循序渐进,持续更新...
springboot博客搭建教程,使用springboot+thymeleaf+连接数据库搭建,适合新手,springboot的学习不是光看看视频就能学会,光看不敲代码不会有所提高,从简单的博客项目中