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

Zápisy a mazania spúšťajú eventy, na ktoré sa môžete napojiť pre audit či integrácie:

EventVlastnostiSpustí sa pri
OptionSetkey, value, ownerset() — pri každom zápise vrátane setMany(), skupín a remember(), keď ukladá.
OptionForgottenkey, ownerforget() a reset().
OptionResolvedkey, value, ownerKaždom čítaní vrátane zásahov do pamäte requestu — len pri zapnutom events.resolved.
use Illuminate\Support\Facades\Event;
use RoundlyConsulting\Options\Events\OptionForgotten;
use RoundlyConsulting\Options\Events\OptionSet;

Event::listen(OptionSet::class, function (OptionSet $event): void {
    logger()->info('Option changed', [
        'key' => $event->key,
        'owner' => $event->owner?->getKey(),
    ]);
});

Event::listen(OptionForgotten::class, function (OptionForgotten $event): void {
    // $event->key, $event->owner
});

Prepínače

OPTIONS_EVENTS_ENABLED=true    # OptionSet + OptionForgotten (observers run either way)
OPTIONS_EVENTS_RESOLVED=true   # also OptionResolved on every read
  • Všetky tri eventy vyžadujú options.events.enabled (predvolene zapnuté). OptionResolved navyše potrebuje options.events.resolved — spúšťa sa pri každom čítaní, preto je predvolene vypnutý.
  • OptionSet aj OptionResolved nesú hodnotu po caste — tú istú, ktorú vráti get(). Pri šifrovaných nastaveniach je to čitateľná hodnota — nedávajte ju do logov.
  • OptionSet a OptionForgotten sa spustia, až keď je zápis trvalý: mimo transakcie hneď, v transakcii po commite tej najvonkajšej (DB::transaction(), setMany(), set() skupiny) a pri zápise vrátenom rollbackom vôbec.
  • Eventy sa spúšťajú synchrónne; ak je práca pomalá, posielajte listener do fronty.
  • Vypnutie eventov stlmí iba eventy: observery aj živé prepisy konfigurácie volá priamo zápis, takže bežia ďalej.

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.