• Час читання ~1 хв
  • 22.08.2023

EnumConcern - це нещодавно представлений пакет PHP, розроблений для оптимізації використання функції Enum PHP, надаючи повний набір методів. За підтримки Laravel Collections, EnumConcern прагне запропонувати бездоганний і знайомий досвід.

Основні характеристики EnumConcern:

  • Універсальність: EnumConcern включає в себе безліч методів, які дозволяють легко обробляти Enums, такі як all, , has, caseExistsі багато іншого.
  • Можливості перетворення: Пакет пропонує методи перетворення Enums у різні формати, такі як JSON, масив або колекції ключів-значень.
  • Налаштування: Існує гнучкість в отриманні підмножин значень методами only, , onlyAsArrayexceptexceptAsArrayі т.д.
  • Функції утиліти: Такі функції, як randomValue, , , randomCasefirstі 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.

Comments

No comments yet
Yurij Finiv

Yurij Finiv

Full stack

Про мене

Professional Fullstack Developer with extensive experience in website and desktop application development. Proficient in a wide range of tools and technologies, including Bootstrap, Tailwind, HTML5, CSS3, PUG, JavaScript, Alpine.js, jQuery, PHP, MODX, and Node.js. Skilled in website development using Symfony, MODX, and Laravel. Experience: Contributed to the development and translation of MODX3 i...

Про автора CrazyBoy49z
WORK EXPERIENCE
Контакти
Ukraine, Lutsk
+380979856297