klamius/php-enum

一个提供与枚举类型交互的PHP库

1.0.1 2018-08-23 20:22 UTC

This package is not auto-updated.

Last update: 2024-09-29 06:07:17 UTC


README

Build Status Code Coverage Scrutinizer Code Quality Total Downloads Latest Stable Version

安装

使用 composer

composer require klamius/php-enum

哲学

此库提供了一个更简单的方法,在PHP中以原生方式模拟和创建枚举对象,并可作为未直接集成到PHP中的 SplEnum 的替代品。

在我们的日常使用中,我们处理了许多枚举(所有领域实体状态、月份、性别等),我们陷入了困境,是否应该将其作为类成员、常量或接口常量等,然后我们将其视为一个标量值,大多数时候无法验证或类型提示。

因此,使用枚举而不是常量具有以下优点

  • 类型提示: function setState(OrderStateEnum $state) {

声明

use Klamius\Enum\Enum;

/**
 * GenderEnum enum
 */
class Gender extends Enum
{
    const MALE = 'male';
    const FEMALE = 'female';
}

使用

class User
{
    /**
     * @var Gender
     */
    private $gender;
    
    function setGender(Gender $gender)
    {
        $this->gender = $gender;
    }
}

$gender = new Gender(Gender::MALE);
$user->setGender($gender);

//or
echo $gender;