ll-kuma-ll/php-enum

该包最新版本(v1.0.0)没有可用的许可证信息。

枚举类型类

v1.0.0 2017-10-18 15:59 UTC

This package is not auto-updated.

Last update: 2024-09-29 02:58:53 UTC


README

使用PHP实现枚举类型的类。
因为每次创建都很麻烦,所以将其作为composer库创建,以便可以读取。

Composer设置

php composer.phar require ll-kuma-ll/php-enum

定义示例

namespace Foo;

use LLkumaLL\Enum\Enum;

class Sample extends Enum
{
    const ENUM = [
        'VALUE_1' => 'label 1',
        'VALUE_2' => 'label 2',
    ];
}

使用示例

use LLkumaLL\Enum\Manager;
use Foo\Sample;

// 単独で使いたい場合
$enum = Sample::VALUE_1();
// 'label 1' が出力される
echo $enum->label();
// 'VALUE_1' が出力される
echo $enum->value();

// まとめて取り扱いたい場合
$manager = new Manager(Sample::class);

// ENUM定数配列の定義分全部をループ処理
foreach ($manager->createAll() as $const => $enum) {
    // '同じ'が出力される
    echo $const == $enum->value() ? '同じ' : '違う';
}