EnumConcern - це нещодавно представлений пакет PHP, розроблений для оптимізації використання функції Enum PHP, надаючи повний набір методів. За підтримки Laravel Collections, EnumConcern прагне запропонувати бездоганний і знайомий досвід.
Основні характеристики EnumConcern:
-
Універсальність: EnumConcern включає в себе безліч методів, які дозволяють легко обробляти Enums, такі як
all
, ,has
,caseExists
і багато іншого. - Можливості перетворення: Пакет пропонує методи перетворення Enums у різні формати, такі як JSON, масив або колекції ключів-значень.
-
Налаштування: Існує гнучкість в отриманні підмножин значень методами
only
, ,onlyAsArray
except
exceptAsArray
і т.д. -
Функції утиліти: Такі функції, як
randomValue
, , ,randomCase
first
іlast
забезпечують додаткову корисність.
Використання
EnumConcern:EnumConcern плавно інтегрується в існуючі перерахування, дозволяючи такі функції, як переклад і різні перевірки. Ось приклад того, як перекласти кольорові перерахування Enums на турецьку мову:
namespace App\Enums;
use EmreYarligan\EnumConcern\EnumConcern;
enum Color: string
{
use EnumConcern;
case RED = "Red";
case GREEN = "Green";
case BLUE = "Blue";
public function translateToTurkish(): string
{
return match ($this) {
self::RED => 'Kırmızı',
self::GREEN => 'Yeşil',
self::BLUE => 'Mavi',
};
}
}
Color::all();
// Result: Illuminate\Support\Collection (7) [
// [0] => 'Red',
// [1] => 'Green',
// [2] => 'Blue
// ]
Color::all('translateToTurkish');
// Result: Illuminate\Support\Collection (7) [
// [0] => 'Kırmızı',
// [1] => 'Yeşil',
// [2] => 'Mavi
// ]
Color::has('Purple');
// false
Color::has('Mavi','translateToTurkish');
// true
За допомогою таких функцій, як Color::all('translateToTurkish')
, ви можете легко отримувати перекладені значення.
Методи EnumConcern
-
all
: Отримайте всі значення як колекцію. Параметри:method = ''
(опціонально). Тип повернення:Collection
. -
allAsArray
: отримання всіх значень у вигляді масиву. Параметри:method = ''
(опціонально). Тип повернення:array
. -
has
: перевірте, чи існує певне значення. Параметри:value
,method = ''
(необов'язково). Тип повернення:bool
. -
caseExists
: перевірте, чи існує певний випадок (ключ / ім'я). Параметри:value
,method = ''
(необов'язково). Тип повернення:bool
. -
allCasesExists
: Перевірте, чи всі вказані випадки (ключі/імена) існують. Параметри:cases
,method = ''
(необов'язково). Тип повернення:bool
. -
anyCaseExists
: Перевірте, чи існують будь-які з наведених випадків (ключі/імена). Параметри:cases
,method = ''
(необов'язково). Тип повернення:bool
. -
caseByValue
: Отримайте регістр (ключ/ім'я) для певного значення. Параметри:value
,method = ''
(необов'язково). Тип повернення:string
. -
toJson
: Перетворіть усі значення на рядок JSON. Параметри: (опціонально),method = ''
jsonEncodeOption
(опціонально). Тип повернення:string
. -
toArray
: перетворення всіх значень на масив. Параметри:method = ''
(опціонально). Тип повернення:array
. -
toKeyValueCollection
: перетворення всіх значень у формат ключ-значення як колекцію. Параметри:method = ''
(опціонально). Тип повернення:Collection
. -
toKeyValueArray
: Перетворіть усі значення у формат ключ-значення як масив. Параметри:method = ''
(опціонально). Тип повернення:array
. -
randomValue
: Отримайте випадкове значення з набору значень. Параметри:method = ''
(опціонально). Тип повернення:mixed
. -
randomCase
: Отримайте випадковий регістр (ключ/ім'я) із набору значень. Параметри: немає. Тип повернення:string
. -
casesCollection
: Отримайте всі регістри (ключі/імена) Enum як колекцію. Параметри: немає. Тип повернення:Collection
. -
casesArray
: Отримайте всі регістри (ключі/імена) Enum як масив. Параметри: немає. Тип повернення:array
. -
allToArray
: Отримайте всі значення як масив (Псевдонім дляtoArray
методу). Параметри:method = ''
(опціонально). Тип повернення:array
. -
only
: Отримайте підмножину значень у вигляді колекції, включаючи лише вказані регістри (ключі/імена). Параметри:cases
,method = ''
(необов'язково). Тип повернення:Collection
. -
onlyAsArray
: Отримайте підмножину значень у вигляді масиву, включаючи лише вказані регістри (ключі/імена). Параметри:cases
,method = ''
(необов'язково). Тип повернення:array
. -
except
: Отримати підмножину значень як колекцію, за винятком указаних випадків (ключів/імен). Параметри:cases
,method = ''
(необов'язково). Тип повернення:Collection
. -
exceptAsArray
: Отримати підмножину значень у вигляді масиву, за винятком вказаних регістрів (ключів/імен). Параметри:cases
,method = ''
(необов'язково). Тип повернення:array
. -
first
: Отримайте перше значення в Enum. Параметри:method = ''
(опціонально). Тип повернення:mixed
. -
last
: Отримати останнє значення в Enum. Параметри:method = ''
(опціонально). Тип повернення:mixed
.
Висновок:
EnumConcern пропонує надійне рішення для управління Enums на PHP, безперебійну інтеграцію з колекціями Laravel і надання безлічі корисних методів. Незалежно від того, чи потрібно вам перевіряти, перетворювати або маніпулювати Enums, EnumConcern спрощує процес, економлячи час і сили.
Для більш детальних прикладів і вичерпної документації можна звернутися до офіційної документації EnumConcern.