news 2026/4/15 23:01:42

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/4/16 10:20:21

Langchain-Chatchat SSO单点登录:多个系统无缝切换体验

Langchain-Chatchat SSO单点登录:多个系统无缝切换体验 在企业数字化转型不断深入的今天,员工每天要面对越来越多的内部系统——HR平台、财务审批、项目管理工具、知识库……每个系统都要求独立登录,账号密码五花八门,不仅体验割裂…

作者头像 李华
网站建设 2026/4/16 10:18:54

Langchain-Chatchat代码块高亮显示:程序员友好型知识库

Langchain-Chatchat代码块高亮显示:程序员友好型知识库 在现代软件研发环境中,新成员入职时面对堆积如山的API文档、配置手册和代码示例,常常陷入“看得懂但找不到”的困境。而老员工也常因项目迭代过快,难以快速定位历史实现逻辑…

作者头像 李华
网站建设 2026/4/15 11:10:04

搜索、扫码、阅读:Kred如何将“找书”与“读书”无缝整合

在数字阅读的世界里,一个长期存在的割裂点在于:获取内容的“前端”流程与消费内容的“后端”体验,通常被分割在两个截然不同的维度。 我们习惯于在浏览器、网盘、社交群聊中耗费大量精力搜索、验证、下载资源,然后再跳转到另一个…

作者头像 李华
网站建设 2026/4/16 12:02:09

解锁Skywork-R1V多模态AI:从零开始的完整部署指南

解锁Skywork-R1V多模态AI:从零开始的完整部署指南 【免费下载链接】Skywork-R1V Pioneering Multimodal Reasoning with CoT 项目地址: https://gitcode.com/gh_mirrors/sk/Skywork-R1V Skywork-R1V作为业界领先的开源多模态模型,凭借其强大的图像…

作者头像 李华
网站建设 2026/4/16 12:05:43

java计算机毕业设计停车场管理系统 高校智能停车泊位预约与收费平台 基于Spring Boot的车库车辆出入与费用结算系统

计算机毕业设计停车场管理系统yofl09(配套有源码 程序 mysql数据库 论文) 本套源码可以在文本联xi,先看具体系统功能演示视频领取,可分享源码参考。 校外车辆涌入、校内车位饱和、临停车辆随意占位,高校地下停车场每天上演“抢位大…

作者头像 李华