php-extended/php-enumerable 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

php-extended/php-enumerable

最新稳定版本:8.0.0

Composer 安装命令:

composer require php-extended/php-enumerable

包简介

A simple library to provide access to enumerable functionnalities in php

README 文档

README

A simple library to provide access to enumerable functionnalities in php

coverage build status

Installation

The installation of this library is made via composer and the autoloading of all classes of this library is made through their autoloader.

  • Download composer.phar from their website.
  • Then run the following command to install this library as dependency :
  • php composer.phar php-extended/php-enumerable ^7

Basic Usage

The basic usage of this library is as follows. This is an example implementation given a language choice to be into a closed list.


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;
	}
	
}

This class declares three instances of the enumerable, which are Language::DE(), Language::EN(), and Language::FR(). Those instances will have the strings 'de', 'en' and 'fr' respectively set as their ids.

Note also that Language::EN() === Language::findById('en') is true, as the enumerable objects are designed to be singletons.

License

MIT (See license file).

统计信息

  • 总下载量: 40.81k
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 0
  • 依赖项目数: 3
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 0
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2016-08-05