EnumConcern to nowo wprowadzony pakiet PHP dostosowany do usprawnienia korzystania z funkcji Enum PHP poprzez zapewnienie kompleksowego zestawu metod. Wspierany przez Laravel Collections, EnumConcern ma na celu zaoferowanie płynnego i znanego doświadczenia.
Kluczowe cechy EnumConcern:
-
Wszechstronność: EnumConcern zawiera wiele metod, które umożliwiają łatwą obsługę wyliczeń, takich jak
all
, ,has
caseExists
i inne. - Możliwości konwersji: Pakiet oferuje metody konwersji wyliczeń na różne formaty, takie jak JSON, tablica lub kolekcje klucz-wartość.
-
Dostosowywania: Istnieje elastyczność w uzyskiwaniu podzbiorów wartości za pomocą metod
only
, , , ,onlyAsArray
except
exceptAsArray
itp. -
Funkcje użytkowe: Funkcje takie jak
randomValue
, ,first
randomCase
ilast
zapewniają dodatkowe narzędzie.
EnumConcern Użycie:
EnumConcern płynnie integruje się z istniejącymi wyliczeniami, umożliwiając funkcje takie jak tłumaczenie i różne kontrole. Oto przykład tłumaczenia wyliczeń kolorów na język turecki:
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
Za pomocą funkcji takich jak Color::all('translateToTurkish')
, możesz bez wysiłku pobierać przetłumaczone wartości.
Metody EnumConcern
-
all
: Pobierz wszystkie wartości jako kolekcję. Parametry:method = ''
(opcjonalnie). Typ zwrotu:Collection
. -
allAsArray
: Pobierz wszystkie wartości jako tablicę. Parametry:method = ''
(opcjonalnie). Typ zwrotu:array
. -
has
: Sprawdź, czy istnieje określona wartość. Parametry:value
,method = ''
(opcjonalnie). Typ zwrotu:bool
. -
caseExists
: Sprawdź, czy istnieje konkretny przypadek (klucz / nazwa). Parametry:value
,method = ''
(opcjonalnie). Typ zwrotu:bool
. -
allCasesExists
: Sprawdź, czy wszystkie podane przypadki (klucze/nazwy) istnieją. Parametry:cases
,method = ''
(opcjonalnie). Typ zwrotu:bool
. -
anyCaseExists
: Sprawdź, czy istnieją jakieś podane przypadki (klucze/nazwy). Parametry:cases
,method = ''
(opcjonalnie). Typ zwrotu:bool
. -
caseByValue
: Pobierz wielkość liter (klucz/nazwę) dla określonej wartości. Parametry:value
,method = ''
(opcjonalnie). Typ zwrotu:string
. -
toJson
: Konwertuj wszystkie wartości na ciąg JSON. Parametry:method = ''
(opcjonalnie),jsonEncodeOption
(opcjonalnie). Typ zwrotu:string
. -
toArray
: Konwertuj wszystkie wartości na tablicę. Parametry:method = ''
(opcjonalnie). Typ zwrotu:array
. -
toKeyValueCollection
: Konwertuj wszystkie wartości na format klucz-wartość jako kolekcję. Parametry:method = ''
(opcjonalnie). Typ zwrotu:Collection
. -
toKeyValueArray
: Konwertuj wszystkie wartości na format klucz-wartość jako tablicę. Parametry:method = ''
(opcjonalnie). Typ zwrotu:array
. -
randomValue
: Pobierz losową wartość ze zbioru wartości. Parametry:method = ''
(opcjonalnie). Typ zwrotu:mixed
. -
randomCase
: Pobierz losowy przypadek (klucz/nazwę) ze zbioru wartości. Parametry: Brak. Typ zwrotu:string
. -
casesCollection
: Pobierz wszystkie skrzynki (klucze/nazwy) Enum jako kolekcję. Parametry: Brak. Typ zwrotu:Collection
. -
casesArray
: Pobierz wszystkie przypadki (klucze/nazwy) wyliczenia jako tablicę. Parametry: Brak. Typ zwrotu:array
. -
allToArray
: Pobierz wszystkie wartości jako tablicę (alias dlatoArray
metody). Parametry:method = ''
(opcjonalnie). Typ zwrotu:array
. -
only
: Pobierz podzbiór wartości jako kolekcję, zawierający tylko określone przypadki (klucze/nazwy). Parametry:cases
,method = ''
(opcjonalnie). Typ zwrotu:Collection
. -
onlyAsArray
: Pobierz podzbiór wartości jako tablicę, zawierający tylko określone przypadki (klucze/nazwy). Parametry:cases
,method = ''
(opcjonalnie). Typ zwrotu:array
. -
except
: Pobierz podzbiór wartości jako kolekcję, z wyłączeniem określonych przypadków (kluczy/nazw). Parametry:cases
,method = ''
(opcjonalnie). Typ zwrotu:Collection
. -
exceptAsArray
: Pobierz podzbiór wartości jako tablicę, z wyłączeniem określonych przypadków (kluczy/nazw). Parametry:cases
,method = ''
(opcjonalnie). Typ zwrotu:array
. -
first
: Pobierz pierwszą wartość w wyliczeniu. Parametry:method = ''
(opcjonalnie). Typ zwrotu:mixed
. -
last
: Pobierz ostatnią wartość w wyliczeniu. Parametry:method = ''
(opcjonalnie). Typ zwrotu:mixed
.
Wniosek:
EnumConcern oferuje solidne rozwiązanie do zarządzania Enums w PHP, bezproblemową integrację z Laravel Collections i zapewnienie wielu przydatnych metod. Niezależnie od tego, czy chcesz sprawdzić, przekonwertować lub manipulować wyliczeniami, EnumConcern upraszcza proces, oszczędzając czas i wysiłek.
Aby uzyskać bardziej szczegółowe przykłady i obszerną dokumentację, można zapoznać się z oficjalną dokumentacją EnumConcern.