EnumConcern - это недавно представленный пакет PHP, предназначенный для оптимизации использования функции PHP Enum, предоставляя полный набор методов. При поддержке Laravel Collections, EnumConcern стремится предложить бесшовный и знакомый опыт.
Ключевые особенности EnumConcern:
-
Многосторонность: EnumConcern включает в себя множество методов, которые упрощают работу с перечислениями, такие как
all
, ,caseExists
,has
и другие. - Возможности преобразования: Пакет предлагает методы преобразования перечислений в различные форматы, такие как JSON, массив или коллекции ключей-значений.
-
Настройка: Существует гибкость в получении подмножеств значений с помощью методов
only
, , , ,onlyAsArray
except
exceptAsArray
и т. д. -
Служебные функции: Такие функции, как
randomValue
, ,randomCase
first
иlast
обеспечивают дополнительную полезность.
Использование EnumConcern:
EnumConcern плавно интегрируется в существующие перечисления, обеспечивая такие функции, как перевод и различные проверки. Вот пример того, как перевести цветовые перечисления на турецкий язык:
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
: Получить все случаи (ключи/имена) перечисления в виде коллекции. Параметры: Нет. Тип возвращаемого значения:Collection
. -
casesArray
: Получить все случаи (ключи/имена) перечисления в виде массива. Параметры: Нет. Тип возвращаемого значения:array
. -
allToArray
: Получить все значения в виде массива (псевдоним методаtoArray
). Параметры:method = ''
(опционально). Тип возвращаемого значения:array
. -
only
: Получить подмножество значений в виде коллекции, включая только указанные случаи (ключи/имена). Параметры:cases
,method = ''
(необязательно). Тип возвращаемого значения:Collection
. -
onlyAsArray
: Получить подмножество значений в виде массива, включая только указанные случаи (ключи/имена). Параметры:cases
,method = ''
(необязательно). Тип возвращаемого значения:array
. -
except
: Получить подмножество значений в виде коллекции, исключая указанные случаи (ключи/имена). Параметры:cases
,method = ''
(необязательно). Тип возвращаемого значения:Collection
. -
exceptAsArray
: Получить подмножество значений в виде массива, исключая указанные случаи (ключи/имена). Параметры:cases
,method = ''
(необязательно). Тип возвращаемого значения:array
. -
first
: Получение первого значения в перечислении. Параметры:method = ''
(опционально). Тип возвращаемого значения:mixed
. -
last
: Получить последнее значение в перечислении. Параметры:method = ''
(опционально). Тип возвращаемого значения:mixed
.
Вывод:
EnumConcern предлагает надежное решение для управления перечислениями в PHP, легко интегрируется с коллекциями Laravel и предоставляет множество полезных методов. Независимо от того, нужно ли вам проверять, преобразовывать или манипулировать перечислениями, EnumConcern упрощает процесс, экономя время и усилия.
Для получения более подробных примеров и исчерпывающей документации вы можете обратиться к официальной документации EnumConcern.