fixmind/enum

类组织常量集合。能够保持代码清晰、透明和严格。

1.0.2 2019-09-02 23:09 UTC

This package is auto-updated.

Last update: 2024-09-29 05:28:22 UTC


README

类组织常量集合。能够保持代码清晰、透明和严格。类似于SplEnum类,但更好。

用法 - 定义集合的两种方式

class Vertical extends Enum
{
	const TOP = 'TOP';
	const MIDDLE = 'MIDDLE';
	const BOTTOM = 'BOTTOM';
}

// OR

class Horizontal extends Enum
{
	const VALUE = ['LEFT', 'CENTER', 'RIGHT'];
}

使用该库的4个理由

1个理由 - 使用ENUM强制类型参数方法

class MyClass
{
	public function __construct(Vertical $vertical)
	{
	}
}

new MyClass(Vertical::TOP());

2个用法 - 易于值比较

if (Vertical::TOP() == 'TOP')
{
	if (Vertical::TOP()->is(Vertical::TOP))
	{
	}
}

3个用法 - 可用性列表

foreach(Vertical::getOptionList() as $option)
{
	echo $option;
}

4个用法 - 检查选项是否存在

if (Vertical::isValid('TOP'))
{
	echo 'TOP is a valid value of Vertical Enum';
}
if (Vertical::isValid('LEFT') == false)
{
	echo 'LEFT is not a valid value of Vertical Enum';
}