php-extended / php-enumerable
一个简单的库,用于提供在 PHP 中访问可枚举功能
7.0.6
2024-07-31 13:52 UTC
Requires
- php: >=8.0
Requires (Dev)
- dev-master
- 7.0.6
- 7.0.5
- 7.0.4
- 7.0.3
- 7.0.2
- 7.0.1
- 7.0.0
- 6.0.7
- 6.0.6
- 6.0.5
- 6.0.4
- 6.0.3
- 6.0.2
- 6.0.1
- 6.0.0
- 5.0.1
- 5.0.0
- 4.0.3
- 4.0.2
- 4.0.1
- 4.0.0
- 3.1.26
- 3.1.25
- 3.1.24
- 3.1.23
- 3.1.22
- 3.1.21
- 3.1.20
- 3.1.19
- 3.1.18
- 3.1.17
- 3.1.16
- 3.1.15
- 3.1.14
- 3.1.13
- 3.1.12
- 3.1.11
- 3.1.10
- 3.1.9
- 3.1.8
- 3.1.7
- 3.1.6
- 3.1.5
- 3.1.4
- 3.1.3
- 3.1.2
- 3.1.1
- 3.1.0
- 3.0.11
- 3.0.10
- 3.0.9
- 3.0.8
- 3.0.7
- 3.0.6
- 3.0.5
- 3.0.4
- 3.0.3
- 3.0.2
- 3.0.1
- 3.0.0
- 2.0.0
- 1.2.0
- 1.1.0
- 1.0.1
- 1.0.0
This package is auto-updated.
Last update: 2024-08-31 12:02:35 UTC
README
一个简单的库,用于提供在 PHP 中访问可枚举功能
安装
此库的安装是通过 composer 进行的,所有类的自动加载都通过其自动加载器完成。
- 从他们的网站下载
composer.phar
。 - 然后运行以下命令将此库作为依赖项安装
php composer.phar require php-extended/php-enumerable ^7
基本用法
此库的基本用法如下。这是一个示例实现,给了一个语言选择将其放入一个封闭列表中。
class Language extends \Enumerable
{
/**
* The German language.
*
* @return \Language
*/
public static function DE() : \Language
{
$l = static::getValue('de');
if($l === null)
$l = static::setValue('de', new static('German'));
return static::getValue('de');
}
/**
* The English language.
*
* @return \Language
*/
public static function EN() : \Language
{
$l = static::getValue('en');
if($l === null)
$l = static::setValue('en', new static('English'));
return static::getValue('en');
}
/**
* The French language.
*
* @return \Language
*/
public static function FR() : \Language
{
$l = static::getValue('fr');
if($l === null)
$l = static::setValue('fr', new static('French'));
return static::getValue('fr');
}
/**
* The name of the language, in english.
*
* @var string
*/
private $_name;
/**
* Builds a new Language object with given name.
*
* @param string $name the name of the language, in english.
*/
private function __construct(string $name)
{
$this->_name = $name;
}
/**
* Gets the name of this Language object.
*
* @return string
*/
public function getName() : string
{
return $this->_name;
}
}
此类声明了三个可枚举的实例,分别是 Language::DE()
、Language::EN()
和 Language::FR()
。这些实例分别将字符串 'de'
、'en'
和 'fr'
设置为它们的 ID。
请注意,Language::EN() === Language::findById('en')
为真,因为可枚举对象设计为单例。
许可证
MIT (见许可证文件)。