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

Cache a eager loading

Skompilované definície sa cachujú podľa dvojice (kalendár, revízia). Každý zápis zvýši revíziu vo svojej transakcii, takže nie je čo invalidovať — staré kľúče jednoducho vypršia podľa cache.ttl. Cache ukladá obyčajné polia, nepoužíva tagy a funguje s akýmkoľvek store.

Zoznamy bez N+1

Clinic::query()->withOpeningHours()->paginate();                  // headers only (cache on)
Clinic::query()->withOpeningHours(definitions: true)->paginate(); // full definitions (cache off)

Pri zapnutej cache stačia hlavičky — revízia je uložená v hlavičke. Aplikácie bez cache načítajú celé definície cez definitions: true.

Aktuálnosť

Priame úpravy rozvrhov, výnimiek a rozsahov cez Eloquent zvýšia revíziu automaticky. Po úpravách cez raw SQL, alebo keď sa zmení to, čo vracia openingHoursTimezone(), zavolajte refresh():

use RoundlyConsulting\OpeningHours\Facades\OpeningHours;

OpeningHours::refresh($clinic);            // after raw SQL or a changed openingHoursTimezone()
OpeningHours::refresh($clinic, 'pickup');  // a named calendar
OpeningHours::flushMemo();                 // clear the per-request memo

Manager za fasádou je registrovaný ako scoped, takže jeho memo skompilovaných definícií žije jeden request alebo job — bezpečne pod Octane aj vo frontách. Hook časového pásma vlastníka a dynamickí poskytovatelia sa vyhodnocujú pri každom volaní a necachujú sa. Poškodený záznam v cache sa považuje za miss a definícia sa skompiluje znova.

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.