4kizuki/php-enum

Enumeration Classes for PHP


License
MIT

Documentation

php-enum

Enumeration Classes for PHP.

Scrutinizer Code Quality Code Coverage Build Status

Explanation written in Japanese is available here: https://qiita.com/4kizuki/items/6eeeacf21a157c326524

Installation

composer require 4kizuki/php-enum

Usage

Enum

Extending this class lets your class become an enumeration class.

class MyEnum extends Enum {
   const EnumConst1 = 100;
   const EnumConst2 = 'this is a pen'.
}

$c1 = new MyEnum( MyEnum::EnumConst1 );
$c2 = MyEnum::EnumConst1( );

$c3 = new MyEnum( MyEnum::EnumConst2 );
$c4 = MyEnum::EnumConst2( );

$c1 ==  $c2; // true
$c1 === $c2; // false

$c3 ==  $c4; // true
$c3 === $c4; // false

$c1 !=  $c3; // true
$c1 ==  $c3; // false