Skip to content

Repository files navigation

Value object PHP lib

Abstract value and enum objects

LicenseBuild StatusCoverage StatusScrutinizer Code QualitySensioLabsInsight

Value objects

class IntValue extends AbstractValue
{
publicstaticfunctionisValid($value)
{
returnis_int($value);
}
}
$x = newIntValue(10); // okprint$x->getValue(); // 10$y = newIntValue(10);
var_dump($x->equal($y)); // true$z = newIntValue('20'); // throws \UnexpectedValueException

Enum value object

All class defined constants are valid values, and magic method with same constant name can be called to instantiate Enum with that value.

class Gender extends AbstractEnum
{
constMALE = 'male';
constFEMALE = 'female';
privatestatic$titles = [
self::MALE => 'gender.male',
self::FEMALE => 'gender.female',
];
publicfunctiongetTitle()
{
returnself::$titles[$this->getValue()];
}
}
var_dump(Gender::all()); // ['male' => Gender() => 'female' => Gender() ]var_dump(Gender::values()); // [ 0 => 'male', 1 => 'female' ]$m = Gender::MALE();
print$m->getValue(); // maleprint$m->getTitle(); // gender.malevar_dump(Gender::isValid('male')); // truevar_dump(Gender::isValid('something')); // false

About

Abstract value and enum objects

Resources

Stars

3 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages