geocoder-php / geocoder-php/Geocoder
Improve ProviderCache
Personne n'a encore pris cette issue.
- Langage dominant
- PHP
- Étoiles
- 4k
- Forks
- 525
- Merge moyen
- 8 min
- PR mergées (30 j)
- 1
Description
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?
Guide de contribution
Ouvrir le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Piste de recherche
Commencez par src/Provider/Cache/ProviderCache.php, en particulier par l’écriture dans le cache autour des lignes 65–66, et suivez la manière dont Chain renvoie une ArrayCollection vide après des exceptions de provider. Définissez l’impact que l’option proposée isAllowEmptyResult devrait avoir sur la mise en cache, puis vérifiez que les résultats vides sont ignorés par défaut et stockés lorsque l’option les autorise.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- php
- Domaine
- backend
- Type d'issue
- Fonctionnalité
- Difficulté
- 3/5
- Temps estimé
- 1-2 jours
- Activité
- À l'abandon
- Clarté
- Plutôt claire
- Accessibilité débutants
- 42/100