您现在的位置是:自如初>PHP基础PHP基础
PHP 8.2 新特性之 const 表达式中获取枚举的属性
温新
2023-02-21 01:11:59
【PHP基础】
574人已围观
简介PHP 8.2 新特性之 const 表达式中获取枚举的属性
hi,我是温新,一名 PHPer
此 RFC 建议允许使用->
/?->
来获取常量表达式中枚举的属性。此更改的主要动机是允许在不允许枚举对象的地方获取名称和值属性,例如数组键。
<?php
enum Status:string
{
case Draft = 'draft';
case Pending = 'pending';
case Published = 'published';
// PHP 8.2 用法
const IntStatusValue = [
self::Draft->value => 0,
self::Pending->value => 1,
self::Published->value => 2
];
// PHP 8.1
public function text()
{
return match ($this) {
self::Draft => 0,
self::Pending=>1,
self::Published => 2
};
}
}
echo Status::Draft->value . PHP_EOL;
echo Status::Draft->text() . PHP_EOL;
// PHP 8.2 用法
echo Status::IntStatusValue[Status::Draft->value] . PHP_EOL;
在这个枚举案例中,使用一个 IntStatusValue
数组,其元素对应着一个不同的值,这种用法在 PHP 8.1中是不允许的。
很赞哦!(8)
相关文章
- 使用 phpipze 编译扩展报错的解决方法
- PHP 7 特性之 匿名类
- PHP 8.2 新特性之 新增方法与弃用相关的操作
- PHP 8.2 新特性之 New Random Extension (新的随机数生成器扩展)
- PHP 8.2 新特性之 DNF Types
- PHP 8.2 新特性之 const 表达式中获取枚举的属性
- PHP 8.2 新特性之弃用动态属性
- PHP 8.2 新特性之 traits 中的常量
- PHP 8.2 新特性之 Hide Sensitive Information In The Back Traces
- PHP 8.2 新特性之 允许 null 和 false 作为独立类型