geocoder-php / geocoder-php/Geocoder
Improve ProviderCache
Dieses Issue hat noch niemand übernommen.
- Vorherrschende Sprache
- PHP
- Sterne
- 4k
- Forks
- 525
- Ø Merge
- 8 Min.
- Gemergte PRs (30 T.)
- 1
Beschreibung
What are you think about add to ProviderCache flag isAllowEmptyResult?
For example:
$chain = new \Geocoder\Provider\Chain\Chain([
// ...
]);
$cache = new \Geocoder\Provider\Cache\ProviderCache($chain, $cache, 86400);
When have exceptions from providers the chain catch and return empty ArrayCollection.
This result is saved for 24h. I think will be good point if I don't save empty results.
Here is example how I think can be:
$result = $this->realProvider->geocodeQuery($query);
if (!$result->isEmpty() || $this->isAllowEmptyResult)) {
$this->cache->set($cacheKey, $result, $this->lifetime);
}
What are you think about it?
Beitragsleitfaden
Erste Schritte
- Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
- Forke das Repository und arbeite in einem Branch.
- Öffne einen Pull Request, der die Issue-Nummer nennt.
Rechercherichtung
Beginnen Sie mit src/Provider/Cache/ProviderCache.php, insbesondere mit dem Cache-Schreibvorgang um die Zeilen 65–66, und verfolgen Sie nach, wie Chain nach Provider-Ausnahmen eine leere ArrayCollection zurückgibt. Legen Sie fest, wie die vorgeschlagene isAllowEmptyResult-Option das Caching beeinflussen soll, und überprüfen Sie anschließend, dass leere Ergebnisse standardmäßig übersprungen und gespeichert werden, wenn die Option dies erlaubt.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- php
- Bereich
- backend
- Issue-Typ
- Feature
- Schwierigkeit
- 3/5
- Geschätzter Aufwand
- 1-2 Tage
- Aktivitätsstatus
- Veraltet
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 42/100