---
title: "Fasáda Options — Options for Laravel | Roundly"
description: "Celé API fasády Options — ploché slovesá, handly for(), option(), key() a group(), register, observery, riadenie prístupu a cache."
url: https://roundly-consulting.com/sk/open-source/navody/options-for-laravel/fasada
language: sk
---

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

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

# Fasáda Options

Odporúčaným vstupným bodom je RoundlyConsulting\\Options\\Facades\\Options. Zastupuje singleton OptionsManager a každá metóda prijme class-string nastavenia alebo registrovaný kľúč a voliteľne model vlastníka (pre globálne nastavenie ho vynechajte alebo odovzdajte null):

```php
use RoundlyConsulting\Options\Facades\Options;

// Flat verbs: a class-string or a registered key, plus an optional owner
Options::get(ThemeOption::class, $user);
Options::set(ThemeOption::class, 'dark', $user);
Options::many([ThemeOption::class, LocaleOption::class], $user);
Options::all($user);
Options::export($team);
Options::import($json);

// Handles
Options::for($user)->set(ThemeOption::class, 'light');         // PendingOptions — one owner
Options::option(ThemeOption::class)->default();                // OptionContext — one option
Options::key('theme')->set('dark');                            // OptionContext by registered key
Options::group(AppearanceSettings::class)->for($user)->all();  // PendingGroup — a settings screen

// Registry, observers, access control, config bridge, cache
Options::register(['theme' => ThemeOption::class]);
Options::observe(ThemeOption::class, RecompileThemeListener::class);
Options::withoutAuthorization(fn () => Options::set(MaintenanceModeOption::class, true));
Options::overrides('app.name', AppNameOption::class);
Options::flushCache();
```

## Všetky metódy

| Metóda | Vracia | Čo robí |
| --- | --- | --- |
| `get($option, $owner = null)` | `mixed` | Typovaná hodnota, alebo default(), ak nie je nič uložené. |
| `set($option, $value, $owner = null)` | `void` | Overí, pretypuje a uloží hodnotu. |
| `has($option, $owner = null)` | `bool` | Či je pre daný rozsah uložená hodnota. |
| `forget($option, $owner = null) / reset(…)` | `void` | Zmaže uloženú hodnotu; reset() je alias. |
| `remember($option, Closure $callback, $owner = null)` | `mixed` | Uložená hodnota, alebo ju vypočíta, uloží a vráti. Uloží ju, len ak dovtedy nič uložené nie je, takže súbežní prví volajúci dostanú tú istú uloženú hodnotu. |
| `resolve($option, $owner = null)` | `OptionInterface` | Inštancia nastavenia naviazaná na vlastníka. |
| `many(array $options, $owner = null)` | `array` | Viac hodnôt naraz, s kľúčmi podľa toho, čo ste odovzdali. |
| `setMany(array $values, $owner = null)` | `void` | Viac zápisov naraz, všetko alebo nič: každá hodnota sa najprv autorizuje a overí, potom sa zapíšu v jednej transakcii. |
| `all($owner = null)` | `Collection` | Všetky uložené hodnoty rozsahu, surovo key => value, jedným dopytom. Pri zapnutom riadení prístupu vynechá, čo používateľ čítať nesmie. |
| `export($owner = null, bool $globalOnly = false)` | `list<OptionPayload>` | Uložené nastavenia ako surové payloady — jedného vlastníka, všetky alebo iba globálne. Pri zapnutom riadení prístupu vynechá, čo používateľ čítať nesmie. |
| `exportJson($owner = null, bool $globalOnly = false)` | `string` | export() ako JSON pole riadkov. |
| `import(array\|string $payload)` | `int` | Vloží alebo aktualizuje z JSON, dekódovaných riadkov či OptionPayloadov systémom všetko alebo nič; vráti počet. |
| `for(?Model $owner)` | `PendingOptions` | Handle viazaný na vlastníka; for(null) je globálny rozsah. |
| `option($option) / key($key)` | `OptionContext` | Handle pre jedno nastavenie, cez class-string alebo registrovaný kľúč. |
| `group($group, $owner = null)` | `PendingGroup` | Skupina nastavení: all(), set(), definition(), options(). |
| `register(array $options) / registered()` | `void / array` | Pridá mapovanie key => trieda za behu; vráti register. |
| `resolveClass($option)` | `class-string` | Prevedie kľúč alebo triedu na class-string nastavenia. |
| `observe($option, $callback)` | `void` | Pripojí cielený observer (closure alebo invokable trieda). |
| `forgetObservers($option) / flushObservers()` | `void` | Odstráni observery jedného nastavenia alebo všetky. |
| `actingAs(?Authenticatable $user, Closure $callback)` | `mixed` | Spustí callback s autorizáciou za daného používateľa. |
| `withoutAuthorization(Closure $callback)` | `mixed` | Spustí callback bez riadenia prístupu. |
| `overrides($configKey, $option)` | `void` | Namapuje kľúč config() na nastavenie a hneď ho aplikuje. |
| `configOverrides() / applyConfigOverrides()` | `array / void` | Aktívna mapa prepojenia s konfiguráciou; znova aplikuje všetky mapovania. |
| `flushCache()` | `void` | Vyprázdni pamäť requestu aj trvalú cache, na akomkoľvek úložisku. |
| `fake()` | `OptionsFake` | Iba na fasáde: nasadí zaznamenávajúci fake v pamäti (pozri Testovanie). |

Metódy assert\*() uvedené v docblocku fasády existujú až po zavolaní Options::fake() — pozri Testovanie.

## Jeden manager za každou cestou

Fasáda, handly for() / option() / key() / group(), inštancie nastavení, trait HasOptions aj helper options() vedú do tých istých metód OptionsManager. Zvoľte zápis, ktorý sa vám číta najlepšie — validácia, casty, cache, autorizácia aj eventy fungujú všade rovnako:

```php
// One OptionsManager behind every spelling — identical behaviour, all visible to Options::fake()
Options::set(ThemeOption::class, 'dark', $user);      // the facade
Options::for($user)->set(ThemeOption::class, 'dark'); // a handle
ThemeOption::for($user)->set('dark');                 // an option instance
$user->option(ThemeOption::class)->set('dark');       // the HasOptions trait
options()->set(ThemeOption::class, 'dark', $user);    // the helper
```

## 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/options-for-laravel.md)
