labrodev/php-enum-mapper

PHP 工具类,用于格式化枚举并按数组处理案例

v1.0.0 2024-10-01 15:57 UTC

This package is auto-updated.

Last update: 2024-10-01 16:03:34 UTC


README

PhpEnumMapper 是一个 PHP 工具类,它提供将枚举案例转换为值、标签或属性数组的转换和映射方法。此实用程序特别适用于在表单、过滤器或任何需要枚举值和标签的视图相关数据中处理枚举的上下文。

PHP 中的枚举(自 PHP 8.1 引入)功能强大,但在某些场景中,您需要将它们转换为更可用的格式,例如数组以进行渲染。PhpEnumMapper 通过允许您提取其值或自定义标签,使将枚举转换为不同格式变得简单。

此实用程序包括两个主要静态方法

  • keyValues: 根据其值和指定的属性将枚举案例转换为键值数组。
  • keys: 从一组枚举案例中提取底层值。

安装

要安装此软件包,请在您的 Laravel 项目中运行以下命令

composer require labrodev/php-enum-mapper

要求

  • PHP 8.1 或更高版本

配置

安装软件包后,无需额外配置即可开始使用实用程序。

用法

要使用此实用程序,请在您的类中使用 Utility 类,并调用其中的静态方法

<?php

namespace YourNamespace;

use Labrodev\PhpEnumMapper\EnumMapper;

class YourClass
{
    public function exampleMethod()
    {
        // Assuming you have an Enum OrderStatus
        $cases = OrderStatus::cases();

        // Convert Enum cases to an array of values and translated names
        $mappedValues = EnumMapper::keyValues($cases);

        // Extract only the Enum values
        $enumValues = EnumMapper::keys($cases);
    }
}

测试

要运行软件包中包含的测试,请执行以下命令

composer test

要使用 PHPStan 对软件包代码进行静态分析,请执行以下命令

composer analyse

安全

如果您发现任何与安全相关的问题,请通过电子邮件 admin@labrodev.com 联系我们,而不是使用问题跟踪器。

鸣谢

Labro Dev

许可

MIT 许可证 (MIT)。请参阅许可证文件以获取更多信息。

阅读更多

在我们的 Substack 页面 - Labrodev 上阅读更多关于我们的 Web 开发经验。