news 2026/3/5 17:22:55

PHP 8.1 枚举(Enums)详解

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
PHP 8.1 枚举(Enums)详解

目录

  1. 什么是枚举?
  2. 基本语法
  3. 纯值枚举
  4. 回退枚举
  5. 枚举方法
  6. 接口实现
  7. 实用示例
  8. 注意事项

什么是枚举?

枚举是一种特殊的数据类型,允许定义一组命名的常量值。在 PHP 8.1 之前,开发者通常使用类常量或数组来模拟枚举,但 PHP 8.1 引入了原生枚举支持,提供了更好的类型安全性和功能。

基本语法

// 定义纯值枚举enumStatus:string{caseDRAFT='draft';casePUBLISHED='published';caseARCHIVED='archived';}// 使用枚举$status=Status::DRAFT;// 获取枚举值echo$status->value;// 输出: draft// 通过值获取枚举实例$status=Status::from('draft');// 或者安全获取(失败时返回 null)$status=Status::tryFrom('draft');

纯值枚举(Pure Enums)

// 整数类型的枚举enumPriority:int{caseLOW=1;caseMEDIUM=2;caseHIGH=3;caseCRITICAL=4;}// 字符串类型的枚举enumColor:string{caseRED='#FF0000';caseGREEN='#00FF00';caseBLUE='#0000FF';}// 使用示例$priority=Priority::HIGH;echo$priority->value;// 输出: 3echo$priority->name;// 输出: HIGH// 类型提示functionsetPriority(Priority$priority):void{echo"Setting priority to:{$priority->value}\n";}setPriority(Priority::CRITICAL);

回退枚举(Backed Enums)

// 回退枚举可以具有标量值(int 或 string)enumHttpStatus:int{caseOK=200;case
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/2/15 13:54:59

Langchain-Chatchat LDAP登录支持:企业AD域账号直通方案

Langchain-Chatchat LDAP登录支持:企业AD域账号直通方案 在当今企业数字化转型的浪潮中,AI知识库系统正从“可用”走向“好用”,而真正的落地关键往往不在于模型多强大,而在于能否无缝融入现有IT治理体系。一个再智能的问答系统&a…

作者头像 李华
网站建设 2026/2/21 14:54:51

Browser-Use Web-UI新手必看:5大难题秒解决实战指南

Browser-Use Web-UI作为一款在浏览器中运行AI Agent的开源神器,最近在技术圈火得一塌糊涂!但很多新手小伙伴在初次使用时都会遇到各种"坑",别慌,今天老司机带你5分钟搞定所有难题,让你轻松驾驭这个强大的工具…

作者头像 李华
网站建设 2026/2/25 11:12:30

Langchain-Chatchat缓存机制详解:Redis在问答系统中的妙用

Langchain-Chatchat缓存机制详解:Redis在问答系统中的妙用 在企业智能问答系统的开发实践中,一个看似简单的问题往往隐藏着巨大的性能挑战——当上百名员工反复询问“年假怎么申请”或“报销流程是什么”时,是否每次都要重新走完文本清洗、向…

作者头像 李华
网站建设 2026/2/26 7:23:56

28、Windows设备驱动开发:中断处理与DMA使用全解析

Windows设备驱动开发:中断处理与DMA使用全解析 1. 驱动清理与性能分析 在设备驱动开发中, DeviceClose 例程负责所有的清理活动。它与 DeviceOpen 存在自然的对称性,其操作顺序与安装顺序相反。具体来说,该函数应先禁用中断,恢复原始向量,再重新启用中断,最后释放…

作者头像 李华
网站建设 2026/2/22 8:45:06

GPT-5上线强制停用GPT-4,用户为何更爱GPT-4?

GPT-5的正式上线,本应是OpenAI在大语言模型领域的一次技术突破,然而却引发了广泛的争议和不满。尤其是在推出后,OpenAI宣布强制停用GPT-4及其他旧版模型,令大量依赖GPT-4的用户感到愤怒和失望。更令人惊讶的是,在GPT-5…

作者头像 李华
网站建设 2026/3/4 7:06:17

Langchain-Chatchat用户行为分析:通过埋点数据优化交互流程

Langchain-Chatchat用户行为分析:通过埋点数据优化交互流程 在企业级智能问答系统日益普及的今天,一个看似“能用”的本地知识库助手,往往在真实使用中暴露出诸多隐性问题:用户反复提问相同内容、响应慢得令人失去耐心、回答似是而…

作者头像 李华