NovinkaZverejnili sme 50+ Laravel balíkov ako open source
Custom AI apps, agents and automation — Roundly ConsultingRoundly
Všetky balíky

Open source

Enums for Laravel

Inštalácia
composer require roundly-consulting/enums-for-laravel
Vyžaduje: PHP ^8.4 · Laravel ^12.0|^13.0

Prehľad

Jeden trait, ktorý vašim PHP enumom pridá pomocné metódy, aké si inak v každej Laravel aplikácii píšete znova: čitateľné a preložiteľné popisy; názvy, hodnoty a popisy ako kolekcie; možnosti pre select; vyhľadanie prípadu podľa názvu či popisu; validačné pravidlo, ktoré sa nikdy nerozíde s kódom; náhodný výber; prehľadné porovnania a plynulé podmienené callbacky. Pridajte RoundlyConsulting\Enums\Helpers do backed alebo čistého enumu a máte hotovo — bez service providera, konfigurácie, migrácií či príkazov. Natívne pre Laravel — postavené na jeho vlastných Collection, Str a prekladači — s licenciou MIT a bez závislostí nad rámec samotného Laravelu.

Čo získate

Čitateľné a preložiteľné popisy

readable() a label() prevedú hodnotu prípadu cez Str::headline() — z hot-news vznikne „Hot News“ — a potom ju vyhľadajú v prekladači Laravelu.

Názvy, hodnoty a popisy

Jedným volaním získate názvy, hodnoty alebo popisy všetkých prípadov ako Laravel kolekcie v poradí deklarácie.

Možnosti pre select

Mapa hodnota => popis pre selecty v Blade alebo typované DTO EnumOption (value, label, name) pre Inertia, Vue a React.

Vyhľadanie prípadu

Nájdite prípad podľa názvu alebo popisu — striktné varianty from* vyhodia výnimku, tryFrom* vrátia null — plus hasName() a hasValue().

Validácia vždy v súlade s kódom

validationRule() zostaví pravidlo in: z aktuálnych prípadov, takže nový prípad nikdy nerozbije formulár.

Porovnania a callbacky

is(), isNot(), isIn(), isNotIn() a plynulé callbacky whenIs* s voliteľnou predvolenou vetvou.

Jeden trait, žiadne nastavovanie

Bez service providera, konfigurácie, migrácií, príkazov či fasády. Funguje na backed aj čistých enumoch — čisté enumy všade namiesto hodnoty použijú názov prípadu.

Dokumentácia

Inštalácia

Inštalácia cez Composer — nie je čo publikovať ani registrovať: žiadny service provider, konfigurácia, migrácia ani príkaz.

Rýchly štart

Pridajte do enumu trait Helpers a jedným riadkom získate popisy, možnosti pre select, vyhľadávanie, validáciu aj porovnania.

Backed a čisté enumy

Čo jednotlivé metódy vracajú pre reťazcové, celočíselné a čisté enumy — a kde čisté enumy namiesto hodnoty použijú názov prípadu.

Čitateľné popisy

readable() a label() prevedú prípad na čitateľný popis cez Str::headline() a prekladač Laravelu.

Preklad popisov

Lokalizujte popisy cez JSON prekladové súbory alebo prepíšte readable() priamo na enume a majte ich plne pod kontrolou.

Názvy, hodnoty a popisy

names(), values(), storable(), labels(), collect() a count() — všetky prípady ako kolekcia v poradí deklarácie.

Možnosti pre select

toOptions() a toArray() zostavia mapu hodnota => popis pre selecty v Blade, formulárové komponenty, JSON aj odpovede API.

Možnosti pre frontend

options() vracia typované DTO EnumOption — hodnotu, popis a názov — v tvare, aký očakávajú selecty v JavaScripte, Inertia, Vue a Reacte.

Vyhľadanie prípadu

Nájdite prípad podľa názvu alebo popisu cez fromName(), fromLabel() a ich varianty tryFrom*; existenciu overíte cez hasName() a hasValue().

Validácia

validationRule() zostaví pravidlo in: z values(), takže zoznam povolených hodnôt sa pri zmene prípadov nikdy nerozíde s kódom.

Porovnávanie

is(), isNot(), isIn() a isNotIn() porovnávajú prípady podľa identity — čitateľné podmienky bez ručne písaných reťazí ===.

Podmienené callbacky

whenIs(), whenIsNot(), whenIsIn() a whenIsNotIn() spustia callback len pri splnení podmienky, s voliteľnou predvolenou vetvou.

Náhodné prípady a factories

random() vyberie náhodný prípad pre model factories, seedery a demo dáta; collect() prejde všetky prípady.

Výnimky

EnumException — vyhodia ju fromName() a fromLabel() pri nenájdení — rozširuje InvalidArgumentException a má dva pomenované konštruktory.

Prehľad API

Všetky statické a inštančné metódy, ktoré pridáva trait Helpers — signatúra, návratový typ a účel.

Testovanie

Overte popisy, možnosti a validáciu vlastných enumov v Peste, pridajte prekladové riadky cez Lang::addLines() a spustite testy balíka.

Požiadavky

PHP 8.4+ a Laravel 12 alebo 13 — bez PHP rozšírení, service providera či konfigurácie.

Prejavte lásku k open source

Tento balík je zadarmo pod licenciou MIT. Ak vám šetrí čas, jednorazový príspevok alebo členstvo na Patreone nám pomôže ho ďalej udržiavať, testovať a dokumentovať.

Ďalšie spôsoby podpory vrátane kryptomien

Odoslaním daru súhlasíte s našimi podmienkami prijímania darov.

Chcete to zabudovať do svojho produktu?

Naše balíky integrujeme do zákazkových Laravel a AI riešení. Napíšte nám, na čom pracujete, a ozveme sa do 48 hodín.