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

Prehľad API

Trait Helpers pridáva 19 statických a 11 inštančných metód. Metódy deklarované na vašom enume majú prednosť pred metódami traitu, takže každú z nich môžete prepísať — a natívne cases(), from() a tryFrom() z PHP zostávajú nedotknuté.

Statické metódy

MetódaVraciaÚčel
storable()Collection<int, string|int>Hodnoty backed enumu (pri čistom enume názvy prípadov) v poradí deklarácie.
values()Collection<int, string|int>To isté ako storable().
names()Collection<int, string>Názvy prípadov v poradí deklarácie.
labels()Collection<int, string>readable() každého prípadu.
collect()Collection<int, self>Všetky prípady ako inštancie enumu.
count()intPočet prípadov.
random()staticNáhodný prípad; na enume bez prípadov vyhodí EnumException.
toOptions()Collection<array-key, string>Mapa hodnota => popis pre selecty.
toArray()array<array-key, string>toOptions() ako obyčajné pole.
options()Collection<int, EnumOption>DTO {value, label, name} pre selecty v JS.
presentations()Collection<int, EnumPresentation>DTO {value, label, color} pre štítky, v poradí deklarácie.
untranslated(?string $locale = null)Collection<int, static>Prípady enumu s #[TranslatedLabels] bez riadku presne v danom jazyku; bez atribútu vyhodí EnumException.
fromName(string $name)staticPrípad podľa názvu; pri nenájdení vyhodí EnumException.
tryFromName(?string $name)?staticPrípad podľa názvu alebo null.
fromLabel(string $label)staticPrípad podľa popisu; pri nenájdení vyhodí EnumException.
tryFromLabel(?string $label)?staticPrípad podľa popisu alebo null.
hasName(string $name)boolČi existuje prípad s týmto názvom.
hasValue(string|int $value)boolČi existuje prípad s touto hodnotou — pri čistom enume názvom (striktne).
validationRule()stringPravidlo in: pre Laravel z values(); hodnoty, ktoré by narušili jeho CSV syntax, dá do úvodzoviek.

Inštančné metódy

MetódaVraciaÚčel
readable()stringRiadok z #[TranslatedLabels], ak existuje, inak Str::headline() hodnoty (alebo názvu; int bez zmeny), vyhľadaný v prekladači.
label()stringAlias readable() — prepisujte readable(), nie túto metódu.
presentation()EnumPresentationPrípad ako {value, label, color}.
is(self $enum)boolČi ide o daný prípad.
isNot(self $enum)boolČi nejde o daný prípad.
isIn(array $enums)boolČi je jedným z daných prípadov.
isNotIn(array $enums)boolČi nie je žiadnym z daných prípadov.
whenIs(self $enum, Closure $callback, ?Closure $default = null)selfPri splnení podmienky spustí $callback, inak voliteľný $default; vráti prípad.
whenIsNot(self $enum, Closure $callback, ?Closure $default = null)selfPri splnení podmienky spustí $callback, inak voliteľný $default; vráti prípad.
whenIsIn(array $enums, Closure $callback, ?Closure $default = null)selfPri splnení podmienky spustí $callback, inak voliteľný $default; vráti prípad.
whenIsNotIn(array $enums, Closure $callback, ?Closure $default = null)selfPri splnení podmienky spustí $callback, inak voliteľný $default; vráti prípad.

Atribút, rozhranie a DTO

  • #[TranslatedLabels(?string $group = null)] — RoundlyConsulting\Enums\Attributes\TranslatedLabels; pozri časť Popisy z prekladových súborov.
  • HasColor — RoundlyConsulting\Enums\Contracts\HasColor s jedinou metódou color(): string; pozri časť Farby štítkov a prezentácia.
  • EnumOption — value, label, name a toArray(); vracia ho options().
  • EnumPresentation — value, label, color, toArray() a jsonSerialize(); vracajú ho presentation() a presentations().

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.