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 (and observers)
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.
  • Eventy sa spúšťajú synchrónne; ak je práca pomalá, posielajte listener do fronty.
  • Observery aj živé prepisy konfigurácie stavajú na OptionSet a OptionForgotten, takže vypnutím eventov stíchnu aj ony.

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.