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

Vlastníci a trait HasOptions

Hodnoty nastavení môže vlastniť akýkoľvek Eloquent model. Odovzdajte ho ako argument vlastníka alebo začnite volaním Options::for():

use RoundlyConsulting\Options\Facades\Options;

Options::set(LocaleOption::class, 'sk', $team);
Options::get(LocaleOption::class, $team);   // 'sk'
Options::get(LocaleOption::class);          // the global value — untouched

Options::for($tenant)->set(ThemeOption::class, 'dark');
Options::for($tenant)->get(ThemeOption::class); // 'dark'

Trait HasOptions

Pridajte modelu HasOptions a získate nastavenia naviazané priamo naň:

use RoundlyConsulting\Options\Traits\HasOptions;

final class User extends Authenticatable
{
    use HasOptions;
}

$user->option(ThemeOption::class)->value();    // this user’s value, or the default
$user->option(ThemeOption::class)->set('dark');
$user->option('theme')->value();               // a registered key works too

option() vráti inštanciu nastavenia obmedzenú na daný model, takže value(), set(), has(), forget() aj remember() pracujú s vlastným riadkom modelu. Prijme class-string aj registrovaný kľúč. Trait je len skratka nad tým istým managerom — $user->option(ThemeOption::class)->set('dark') je presne Options::set(ThemeOption::class, 'dark', $user), vrátane faku.

Ako zostávajú rozsahy oddelené

Riadky sa porovnávajú podľa owner_type — morph triedy modelu, takže platia aj aliasy z morph mapy — a owner_id. Záznamy v cache majú rovnaký odtlačok, takže hodnota jedného používateľa sa nikdy nedostane do rozsahu iného používateľa ani do globálneho.

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.