Enum is a simple implementation of php enumeration type.

v0.3.2 2017-03-14 07:03 UTC

This package is auto-updated.

Last update: 2023-05-24 05:32:42 UTC



Codeship Status for ngabor84/enum


Enum is a simple implementation of php's missing enumeration type.


  • PHP 7.0 or above


Install Enum via the composer package manager from packagist ngabor84/enum.


// Define a new Enum type
class Status extends Enum {

    const ACTIVE = 'active';
    const PASSIVE = 'pasive';

// Use the new Status Enum type
$carStatus = new Status(Status::ACTIVE);
$carStatus->getValue(); // return 'active';

$carStatus2 = new Status();

if ($carStatus2->isEqualTo($carStatus)) { // it will be false
    echo "\$carStatus2 and \$carStatus has the same value";
} else { // this will be printed
    echo "\$carStatus2 and \$carStatus has different value"; 
    echo "\$carStatus2: $carStatus2"; // print '$carStatus2: passive'

Status::isValidValue('active'); // return true
Status::isValidKey('INACTIVE'); // return false
Status::getKeyByValue('passive'); // return 'PASSIVE'
Status::listOptions(); // return ['ACTIVE' => 'active', 'PASSIVE' => 'passive']
Status::listKeys(); // return ['ACTIVE', 'PASSIVE']
Status::listValues(); // return ['active', 'passive']
Status::getDefaultValue(); // return 'active' (it's the first constants value by default, but this method is also overridable)