Skip to content

sengokyu/php-enum

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

php-enum

Abstract

This is a Java like enum class emulation.

Usage

<?php

use Sengokyu\Lang\PHPEnum;

class Day extends PHPEnum
{
    /* override static function. */
    /* register enum constants as given name. */
    protected static function initialize()
    {
        self::register('SUNDAY');
        self::register('MONDAY');
        self::register('TUESDAY');
        self::register('WEDNESDAY');
        self::register('THURSDAY');
        self::register('FRIDAY');
        self::register('SATURDAY');
    }
}

function dayEnumTest(Day $day)
{
   switch($day) {
     case Day::MONDAY():
       echo 'Mondays are bad.';
       break;
     case Day::SATURDAY():
     case Day::SUNDAY():
       echo 'Weekends are best.';
       break;
     default:
       echo 'Midweek days are so-so.';
   }
}

dayEnumTest(Day::MONDAY());   // -: Mondays are bad.
dayEnumTest(Day::SATURDAY()); // -: Weekends are best.
dayEnuMTest(Day::SUNDAY());   // -: Weekends are best.

About

Simple abstract PHP enum class

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages