konekt/enum

SPL 启发的 PHP 枚举类实现

4.2.0 2024-02-29 15:32 UTC

README

Tests Packagist Stable Version Packagist downloads StyleCI MIT Software License

PHP 枚举类

当变量(尤其是方法参数)只能取一小组可能值之一时,枚举非常有用。

Konekt 枚举是一个轻量级的抽象类,可以创建 PHP 枚举。

为什么不使用 PHP 8.1 枚举? 此包是在 2013 年创建的,并在许多库中使用。我们计划找到一种方法,使此包基于原生 PHP 枚举,并尽可能保持与早期版本的兼容性。这预计将在此包的 5.0 版本中实现。

使用方法

扩展基类并定义常量

示例
class ChessPiece extends \Konekt\Enum\Enum {
    const KING   = 'king';
    const QUEEN  = 'queen';
    const ROOK   = 'rook';
    const BISHOP = 'bishop';
    const KNIGHT = 'knight';
    const PAWN   = 'pawn';
}

var $queen = new ChessPiece('queen');

安装

使用 composer: composer require konekt/enum

文档

有关详细使用方法和示例,请访问 Konekt Enum 文档 或参考此存储库 docs/ 文件夹中的 markdown 文件。

有关更改列表,请阅读 变更日志

升级

Laravel Eloquent 集成

有一个小的 trait 用于 Laravel,可以帮助您自动将 Eloquent 模型的字段映射到/从 Enum 对象。有关更多详细信息,请访问 konekt/enum-eloquent 包。