---
title: "Backed a čisté enumy — Enums for Laravel | Roundly"
description: "Č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."
url: https://roundly-consulting.com/sk/open-source/navody/enums-for-laravel/typy-enumov
language: sk
---

[Všetky balíky](https://roundly-consulting.com/sk/open-source.md)

[Enums for Laravel](https://roundly-consulting.com/sk/open-source/navody/enums-for-laravel.md)

# Backed a čisté enumy

Trait Helpers je navrhnutý pre backed enumy, no všetky metódy fungujú aj na čistých (pure) enumoch bez hodnôt: všade, kde by sa čítala hodnota — values(), storable(), hasValue(), validationRule(), toOptions(), options(), presentation(), readable() a kľúč pre #\[TranslatedLabels\] — sa namiesto nej použije názov prípadu.

```php
use RoundlyConsulting\Enums\Helpers;

enum Status
{
    use Helpers;

    case Active;
    case Archived;
}

Status::Active->readable();         // "Active"
Status::labels()->all();            // ['Active', 'Archived']
Status::values()->all();            // ['Active', 'Archived'] — the names stand in for values
Status::toOptions();                // ['Active' => 'Active', 'Archived' => 'Archived']
Status::options()->first()->value;  // 'Active'
Status::validationRule();           // 'in:Active,Archived'
Status::hasValue('Active');         // true
Status::fromLabel('Archived');      // Status::Archived
Status::count();                    // 2
```

## Správanie podľa typu enumu

| Metóda | Backed enum | Čistý enum |
| --- | --- | --- |
| `readable(), label(), labels()` | Str::headline() hodnoty (int bez zmeny) | Str::headline() názvu prípadu |
| `toOptions(), toArray()` | Kľúčom je hodnota | Kľúčom je názov prípadu |
| `options()` | value = hodnota | value = názov prípadu |
| `names(), collect(), count(), random()` | Rovnaké | Rovnaké |
| `fromName(), tryFromName(), hasName()` | Rovnaké | Rovnaké |
| `fromLabel(), tryFromLabel()` | Porovnáva s readable() | Porovnáva s readable() |
| `is(), isNot(), isIn(), isNotIn(), whenIs*()` | Rovnaké | Rovnaké |
| `values(), storable()` | Hodnoty backed enumu | Názvy prípadov |
| `presentation(), presentations()` | value = hodnota v natívnom type | value = názov prípadu |
| `#[TranslatedLabels] key` | `<group>.<value>` | `<group>.<CaseName>` |
| `validationRule()` | Pravidlo in: z hodnôt backed enumu | Pravidlo in: z názvov prípadov |
| `hasValue()` | Striktná zhoda s hodnotou | Striktná zhoda s názvom prípadu |

Na čistom enume teda values() a storable() vrátia názvy prípadov, validationRule() prijme presne tieto názvy a hasValue() porovnáva striktne s názvom.

## Celočíselné enumy

```php
use RoundlyConsulting\Enums\Helpers;

enum Priority: int
{
    use Helpers;

    case Low = 0;
    case Medium = 5;
    case High = 10;
}

Priority::values();            // [0, 5, 10]
Priority::validationRule();    // 'in:0,5,10'
Priority::hasValue(5);         // true
Priority::hasValue('5');       // false — strict comparison
Priority::Medium->readable();  // "5"
Priority::toOptions();         // [0 => '0', 5 => '5', 10 => '10']
```

hasValue() porovnáva striktne, takže celočíselnému enumu odovzdajte int — vstup z formulára prichádza ako reťazec. validationRule() funguje tak či tak, pretože pravidlo in v Laraveli porovnáva reťazce. Celočíselná hodnota je sama sebe popisom (5 → „5“, 0 → „0“, -1 → „-1“) — celočíselným enumom preto dajte skutočné popisy cez #\[TranslatedLabels\] (kľúčom je enums.priority.5) alebo prepísaním readable(), ako ukazujú časti Popisy z prekladových súborov a Preklad popisov.

## 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](https://roundly-consulting.com/sk/podporte-nas.md)

Odoslaním daru súhlasíte s našimi [podmienkami prijímania darov](https://roundly-consulting.com/sk/podmienky-darov.md).

[Podporte našu open-source prácu (otvorí sa v novej karte)](https://donate.stripe.com/dRmeVe8FX5PF1Qd9pXcEw00) [Pridajte sa k nám na Patreone (otvorí sa v novej karte)](https://www.patreon.com/cw/roundly)

## 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.

[Ponuka do 48 hodín](https://roundly-consulting.com/sk/kontakt.md) [Prezrieť všetky balíky](https://roundly-consulting.com/sk/open-source/navody/enums-for-laravel.md)
