Skip to content

Skinka/type-enum

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PHP type Enum implementation

It's an abstract class that needs to be extended to use enumeration.

What is an Enumeration? #Install Add skinka/type-enum to the project's composer.json dependencies and run php composer.phar install

#Usage ##Create enum

<?php

namespace skinka\php\TypeEnum\enums;

use skinka\php\TypeEnum\BaseEnum;

/**
 * Class to enumerations of YES or NO status
 *
 * @method static YesNo YES()
 * @method static YesNo NO()
 * @method string text()
 */

class YesNo extends BaseEnum
{
    const YES = 1;
    const NO = 0;

    public static function getData() {
        return [
            self::YES => [
                'text' => 'Yes',
            ],
            self::NO => [
                'text' => 'No',
            ]
        ];
    }
}

##Use enum example

YesNo::getDataList(); //[0 => 'No', 1 => 'Yes']

YesNo::getKeys(); //[0,1]

YesNo::NO(); //0

YesNo::YES()->text(); //Yes

YesNo::YES()->getValue(); //1

YesNo::YES()->getArray(); //['text' => 'Yes']

YesNo::getByValue(0)->text(); //No

YesNo::getByName('YES'); //1

About

Simple and fast implementation of enumerations with native PHP 5.4+

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages