news 2026/7/5 4:46:30

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/7/4 3:31:46

Langchain-Chatchat内存泄漏检测:长期运行稳定性保障

Langchain-Chatchat内存泄漏检测:长期运行稳定性保障 在企业级智能问答系统日益普及的今天,越来越多组织选择将敏感知识库部署于本地环境,以兼顾AI能力与数据安全。Langchain-Chatchat 作为开源社区中广受认可的本地知识库解决方案&#xff0…

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

Langchain-Chatchat思维链(CoT)应用:复杂问题分步推理实现

Langchain-Chatchat思维链(CoT)应用:复杂问题分步推理实现 在企业智能化转型的浪潮中,一个普遍而棘手的问题浮出水面:如何让AI真正理解“我们自己的事”?通用大模型虽然能对答如流,但面对内部术…

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

Nextest:重新定义Rust测试效率的终极指南

Nextest:重新定义Rust测试效率的终极指南 【免费下载链接】nextest A next-generation test runner for Rust. 项目地址: https://gitcode.com/gh_mirrors/ne/nextest 在Rust生态系统中,测试是保证代码质量的关键环节。随着项目规模不断扩大&…

作者头像 李华
网站建设 2026/7/4 20:01:12

应用材料 0190-14927

部件基本信息该部件属于应用材料公司生产的半导体设备配件,通常用于刻蚀、沉积或检测设备模块。具体功能可能涉及电源控制、传感器接口或机械传动组件。典型应用场景适用于应用材料 Endura 或 Centura 系列设备平台可能作为射频电源模块或真空系统控制单元的替换件常…

作者头像 李华
网站建设 2026/7/4 23:01:44

Langchain-Chatchat SQL注入防护:MyBatis防攻击最佳实践

Langchain-Chatchat SQL注入防护:MyBatis防攻击最佳实践 在构建企业级本地知识库问答系统时,安全往往不是最显眼的需求,却是最不能妥协的底线。Langchain-Chatchat 作为基于大语言模型(LLM)和 LangChain 框架的开源私有…

作者头像 李华
网站建设 2026/7/2 15:40:19

ssl_ciphers 配置详解

本文分享自天翼云开发者社区《ssl_ciphers 配置详解》.作者:李****壮 一、配置方式 ssl_ciphers ciphers; 默认值:ssl_ciphers HIGH:!aNULL:!MD5; 上下文:http,server 作用:设置服务器建立与客户端请求https连接时&#xff0c…

作者头像 李华