1. Go to this page and download the library: Download marcionunes/penum-type 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/ */
marcionunes / penum-type example snippets
namespace Tests\App\Enums;
enum MessageTypeEnum: string
{
case SUCCESS = 'success';
case INFO = 'info';
case ALERT = 'alert';
case DANGER = 'danger';
case STATUS = 'status';
public static function frontend(): array
{
return [
self::SUCCESS->value => self::SUCCESS->value,
self::INFO->value => self::INFO->value,
self::ALERT->value => self::ALERT->value,
self::DANGER->value => self::DANGER->value,
self::STATUS->value => self::STATUS->value,
];
}
}
namespace Tests\App\Enums;
enum PriorityEnum: int
{
case LOWEST = 1;
case LOW = 2;
case MEDIUM = 3;
case HIGH = 4;
case HIGHEST = 5;
public function label(): string
{
return match ($this) {
self::LOWEST => __('priorities.lowest'),
self::LOW => __('priorities.low'),
self::MEDIUM => __('priorities.medium'),
self::HIGH => __('priorities.high'),
self::HIGHEST => __('priorities.highest'),
};
}
public static function getColor(int $value): string
{
return match ($value) {
self::LOWEST->value => '#6772E5',
self::LOW->value => '#A6B5BD',
self::MEDIUM->value => '#20AEE3',
self::HIGH->value => '#FF9041',
self::HIGHEST->value => '#ff5C6C',
};
}
public static function frontend(): array
{
return [
'highest' => [
'id' => self::HIGHEST->value,
'name' => self::HIGHEST->label(),
'color' => self::getColor(self::HIGHEST->value),
],
'high' => [
'id' => self::HIGH->value,
'name' => self::HIGH->label(),
'color' => self::getColor(self::HIGH->value),
],
'medium' => [
'id' => self::MEDIUM->value,
'name' => self::MEDIUM->label(),
'color' => self::getColor(self::MEDIUM->value),
],
'low' => [
'id' => self::LOW->value,
'name' => self::LOW->label(),
'color' => self::getColor(self::LOW->value),
],
'lowest' => [
'id' => self::LOWEST->value,
'name' => self::LOWEST->label(),
'color' => self::getColor(self::LOWEST->value),
],
];
}
}