commitglobal/enum-utils 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

commitglobal/enum-utils

最新稳定版本:1.1.0

Composer 安装命令:

composer require commitglobal/enum-utils

包简介

Collection of PHP utilities for working with enums

README 文档

README

GitHub contributors GitHub last commit License: MPL 2.0

Collection of utilities for working with enums.

Contributing | Install | Usage | Feedback | License | About Code for Romania

Contributing

This project is built by amazing volunteers and you can be one of them! Here's a list of ways in which you can contribute to this project. If you want to make any change to this repository, please make a fork first.

Help us out by testing this project in the [staging environment][link-staging]. If you see something that doesn't quite work the way you expect it to, open an Issue. Make sure to describe what you expect to happen and what is actually happening in detail.

If you would like to suggest new functionality, open an Issue and mark it as a [Feature request]. Please be specific about why you think this functionality will be of use. If you can, please include some visual description of what you would like the UI to look like, if you are suggesting new UI elements.

Install

composer require commitglobal/enum-utils

Usage

Arrayable

Important

For Arrayable::options(), your enum must implement a getLabel() method.

Method Description
names() Returns an array of enum case names.
values() Returns an array of enum case values.
options() Returns an associative array mapping values to labels.
enum Status: string
{
    use CommitGlobal\Enums\Concerns\Arrayable;

    case ACTIVE = 'active';
    case INACTIVE = 'inactive';

    public function getLabel(): string
    {
        return match($this) {
            self::ACTIVE => 'Account is active',
            self::INACTIVE => 'Account is inactive',
        };
    }
}
Status::names();   // ['ACTIVE', 'INACTIVE']
Status::values();  // ['active', 'inactive']
Status::options(); // ['active' => 'Account is active', 'inactive' => 'Account is inactive']

Comparable

Method Description
is($enum) Check if this enum matches the given enum instance or value.
isNot($enum) Check if this enum does't match the given enum instance or value.

Example

enum Status: string
{
    use CommitGlobal\Enums\Concerns\Comparable;

    case ACTIVE = 'active';
    case INACTIVE = 'inactive';
}
$status = Status::ACTIVE;

$status->is(Status::ACTIVE);   // true
$status->is('active');         // true
$status->is(Status::INACTIVE); // false
$status->isNot('inactive');    // true

Feedback

  • Request a new feature on GitHub.
  • Vote for popular feature requests.
  • File a bug in GitHub Issues.
  • Email us with other feedback contact@code4.ro

License

This project is licensed under the MPL 2.0 License - see the LICENSE file for details

About Code for Romania

Started in 2016, Code for Romania is a civic tech NGO, official member of the Code for All network. We have a community of around 2.000 volunteers (developers, ux/ui, communications, data scientists, graphic designers, devops, it security and more) who work pro-bono for developing digital solutions to solve social problems. #techforsocialgood. If you want to learn more details about our projects visit our site or if you want to talk to one of our staff members, please e-mail us at contact@code4.ro.

Last, but not least, we rely on donations to ensure the infrastructure, logistics and management of our community that is widely spread across 11 timezones, coding for social change to make Romania and the world a better place. If you want to support us, you can do it here.

统计信息

  • 总下载量: 776
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 0
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 0
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MPL-2.0
  • 更新时间: 2025-07-22

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固