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

Prepojenie s konfiguráciou

Namapujte kľúče config() na nastavenia a ich uložené hodnoty pri štarte prepíšu konfiguráciu — odosielateľa e-mailov či názov aplikácie zmeníte z databázy bez úpravy .env a bez nového nasadenia:

// config/options.php
'config_overrides' => [
    'mail.from.address' => App\Options\MailFromAddressOption::class,
    'app.name'          => App\Options\AppNameOption::class,
],
Options::set(MailFromAddressOption::class, '[email protected]');
// config('mail.from.address') === '[email protected]' after the next boot

// Register a mapping at runtime (applied immediately):
Options::overrides('app.name', AppNameOption::class);
Options::configOverrides();      // the active map
Options::applyConfigOverrides(); // re-read every mapped option into config() now
  • Aplikuje sa iba globálny rozsah.
  • Namapované nastavenie bez uloženej hodnoty existujúcu hodnotu konfigurácie nechá tak, takže predvolené hodnoty frameworku ani .env sa nikdy neprepíšu.
  • Mapovanie prijme class-stringy aj registrované kľúče. Neznáma trieda či kľúč v config_overrides vyhodí pri štarte InvalidOptionClassName.
  • Prepojenie číta svoje nastavenia bez riadenia prístupu, takže do konfigurácie sa dostane aj nastavenie chránené cez authorizeRead().
  • Pri štarte stojí každé mapovanie jedno overenie existencie a pri uloženej hodnote aj jedno čítanie cez cache. Chyby pri aplikovaní — napríklad ešte neexistujúca tabuľka options pri novej inštalácii — sa potichu preskočia, takže aplikácia naštartuje.

Živý režim

Pri zapnutom options.config_overrides_live set() a forget() na namapovanom nastavení znova aplikujú kľúč konfigurácie v bežiacom procese; forget() ho vráti na hodnotu, ktorú mala konfigurácia pred zásahom. Živý režim stavia na OptionSet a OptionForgotten, preto musia byť eventy zapnuté:

OPTIONS_CONFIG_OVERRIDES_LIVE=true

Pozor na poradie štartu

Prepis uvidí iba kód, ktorý namapovaný kľúč číta až po štarte balíka. Konfiguráciu spotrebovanú skôr pri bootstrape — alebo načítanú zo súboru config:cache pred štartom providerov — prepis neovplyvní.

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.