With enum mapper, you can map your enum classes easily with some of the features. I will explain these features in the following commands.
Add badges from somewhere like: shields.io
composer require devysm/enum-mapper
use Devysm\EnumMapper\EnumMapper;
$mapper = new EnumMapper();
// This method will return a single array of cassess, Check the next example
$mapper->setEnum(\App\Enum\OriginEnum::class)->getCasesWithoutContext();
[
0 => "italy"
1 => "china"
2 => "turkey"
3 => "germany"
4 => "qatar"
5 => "taiwan"
6 => "japan"
]
// This method will return a single array of cassess
// with keys like the original value of case, Check the next example.
$mapper->setEnum(\App\Enum\OriginEnum::class)->getCasesWithContext();
[
"italy" => "Italy"
"china" => "China"
"turkey" => "Turkey"
"germany" => "Germany"
"qatar" => "Qatar"
"taiwan" => "Taiwan"
"japan" => "Japan"
]
// also you can change the context data to lowercase & uppercase
// Check the next example
$mapper->setEnum(\App\Enum\OriginEnum::class)
->toLowercase()
->getCasesWithContext();
$mapper->setEnum(\App\Enum\OriginEnum::class)
->toUppercase()
->getCasesWithContext();