Skip to content
/ enum Public
forked from kstefan/enum

PHP implementation of Enum with strict comparisons

Notifications You must be signed in to change notification settings

tuscanicz/enum

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Strict enum

PHP implementation of Enum with strict comparisons

<?php

use Enum\AbstractEnum;

class Day extends AbstractEnum
{
    const SUNDAY = 0;
    const MONDAY = 1;
    const TUESDAY = 2;
    const WEDNESDAY = 3;
    const THURSDAY = 4;
    const FRIDAY = 5;
    const SATURDAY = 6;

    protected static $default = self::SUNDAY;

    public function getLabel()
    {
        return date('l', strtotime(sprintf('Sunday + %d Days', $this->getValue())));
    }
}

$defaultDay = new Day();
echo $defaultDay->getValue();
// 0
echo $defaultDay->getLabel();
// Sunday

$monday = new Day(Day::MONDAY);
echo $monday->getValue();
// 1
echo $monday;
// 1
print_r(Day::getValues());
// Array ( [SUNDAY] => 0 [MONDAY] => 1 [TUESDAY] => 2 [WEDNESDAY] => 3 [THURSDAY] => 4 [FRIDAY] => 5 [SATURDAY] => 6 )
echo $monday->getLabel();
// Monday
print_r(Day::getLabels());
// Array ( [0] => Sunday [1] => Monday [2] => Tuesday [3] => Wednesday [4] => Thursday [5] => Friday [6] => Saturday )

Contribute

Build Status

Feel free to contribute!

Please, run the tests via phpunit php vendor/phpunit/phpunit/phpunit and keep the code coverage.

About

PHP implementation of Enum with strict comparisons

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • PHP 100.0%