skinka/type-enum

Simple and fast implementation of enumerations with native PHP 5.4 and upper

1.0.3 2016-07-30 20:48 UTC

This package is not auto-updated.

Last update: 2024-04-13 17:02:10 UTC


README

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