Zápisy a mazania spúšťajú eventy, na ktoré sa môžete napojiť pre audit či integrácie:
| Event | Vlastnosti | Spustí sa pri |
|---|---|---|
OptionSet | key, value, owner | set() — pri každom zápise vrátane setMany(), skupín a remember(), keď ukladá. |
OptionForgotten | key, owner | forget() a reset(). |
OptionResolved | key, value, owner | Kaž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 kryptomienOdoslaní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.