PHP code example of brunojunior / simple-enum
1. Go to this page and download the library: Download brunojunior/simple-enum library . Choose the download type require .
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
brunojunior / simple-enum example snippets
class SimpleEnum extends \SimpleEnum\Enum
{
const FIRST_VALUE = 0;
const SECOND_VALUE = 1;
const THIRD_VALUE = 2;
}
class LabeledEnum extends \SimpleEnum\Enum
{
const FIRST_VALUE = 0;
const SECOND_VALUE = 1;
const THIRD_VALUE = 2;
/**
* Specify the labels
*/
protected static function defineList(): void
{
static::addEnum(static::FIRST_VALUE, 'My first value');
static::addEnum(static::SECOND_VALUE, 'This is the second value');
static::addEnum(static::THIRD_VALUE, 'Hey! 3rd value!');
}
}
class ComplexEnum extends \SimpleEnum\Enum
{
const FIRST_VALUE = 0;
const SECOND_VALUE = 1;
const THIRD_VALUE = 2;
/**
* A property
*/
private $prop;
/**
* Specify the labels
*/
protected static function defineList(): void
{
static::addEnum(static::FIRST_VALUE, 'My first value')->setProp(42);
static::addEnum(static::SECOND_VALUE, 'This is the second value')->setProp(0);
static::addEnum(static::THIRD_VALUE, 'Hey! 3rd value!')->setProp(-1);
}
/**
* @param int $value
* @return ComplexEnum
*/
private function setProp(int $value):self
{
$this->prop = $value;
return $this;
}
/**
* @return int|null
*/
public function getProp():?int
{
return $this->prop;
}
/**
* @return string
*/
public function doStuffWithProp():string
{
if ($this->prop === 42) {
return "This is the answer to life the universe and everything";
}
return "I don't know";
}
}
$receivedValue = 2;
SimpleEnum::getInstance(SimpleEnum::THIRD_VALUE) == $receivedValue;
$receivedValue = 2;
SimpleEnum::getInstance(SimpleEnum::THIRD_VALUE)->is($receivedValue);