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

Kým je events.enabled true (predvolene), manažér pri každom výsledku odošle udalosť:

UdalosťVlastnostiKedy
LocationResolvedquery, location, providerPoskytovateľ vrátil Location (provider = jeho meno v pipeline).
DistanceResolvedquery, distance, providerPoskytovateľ vzdialenosti vrátil Distance.
LocationResolutionFailedquery, provider, errorVyhľadávanie skončilo bez polohy. Všetci poskytovatelia minuli: provider a error označujú posledného nedostupného poskytovateľa a jeho ProviderUnavailableException (bez prístupových údajov), alebo sú oba null, keď odpoveď nemal nikto. Poskytovateľ vyhodil výnimku: ide o tohto poskytovateľa a jeho výnimku, ktorá sa potom vyhodí ďalej.
use Illuminate\Support\Facades\Event;
use RoundlyConsulting\Geolocation\Events\LocationResolved;

Event::listen(function (LocationResolved $event): void {
    logger()->info("Resolved {$event->location->city} via {$event->provider}");
});

Ďalšie listenery — sledovanie trás a logovanie neúspešných vyhľadávaní:

use RoundlyConsulting\Geolocation\Events\DistanceResolved;
use RoundlyConsulting\Geolocation\Events\LocationResolutionFailed;

Event::listen(function (DistanceResolved $event): void {
    logger()->info("Route of {$event->distance->distanceInMeters} m via {$event->provider}");
});

Event::listen(function (LocationResolutionFailed $event): void {
    logger()->warning('Geolocation miss', [
        'ip' => $event->query->ipAddress,
        'provider' => $event->provider,          // the last unreachable provider, or null
        'error' => $event->error?->getMessage(), // redacted — never carries credentials
    ]);
});
  • Zásahy v cache neodosielajú udalosť — výsledok bol ohlásený už pri prvom určení.
  • LocationResolutionFailed príde vždy, keď vyhľadávanie skončí bez polohy — aj keď boli všetci poskytovatelia nedostupní. Keď nastavíte záložnú polohu, poskytovateľ default odpovie na všetko, čo sa k nemu dostane, a udalosť potom príde, len keď niektorý poskytovateľ vyhodí výnimku.
  • Jej error nikdy nenesie prístupové údaje: správa ProviderUnavailableException je od nich očistená.
  • distanceMatrix() neodosiela žiadne udalosti.
GEOLOCATION_EVENTS=false   # stop dispatching all three events

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.