ycecube/php-type-enum

Defines a base class for emulating enum types in php.

1.0.0 2021-05-04 07:21 UTC

This package is auto-updated.

Last update: 2025-06-04 16:47:50 UTC


README

Defines a base class for emulating enum types in php.

Usage

<?php declare(strict_types=1);

use PhpType\Enum;

final class Day extends Enum {

    public static function Monday(): Day
    {
        return new static(0);
    }

    public static function Tuesday(): Day
    {
        return new static(1);
    }

    public static function Wednesday(): Day
    {
        return new static(2);
    }

    // ...
}

function isMonday(Day $day) {
  return $day->equals(Day::Monday());
}

isMonday(Day::Monday()); // Returns true.
isMonday(Day::Tuesday()); // Returns false.