Improve ProviderCache

Abierto
#904 5 comentarios 1 reacción 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
3/5
Tiempo estimado
1-2 días
Aptitud para principiantes
42/100
Tipo de issue
Nueva funcionalidad
Claridad
Bastante claro
Estado de actividad
Estancado
Stack tecnológico
php
Área
backend

Línea de trabajo

Comienza con src/Provider/Cache/ProviderCache.php, especialmente con la escritura de caché alrededor de las líneas 65–66, y sigue cómo Chain devuelve una ArrayCollection vacía después de las excepciones de los providers. Define cómo debería afectar al almacenamiento en caché la opción propuesta isAllowEmptyResult y, después, verifica que los resultados vacíos se omitan de forma predeterminada y se almacenen cuando la opción lo permita.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

question

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.

https://github.com/geocoder-php/Geocoder/blob/35650985d8b69ead88340ca5b75546f7117fad06/src/Provider/Cache/ProviderCache.php#L65-L66

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?

Lenguaje dominante
PHP
Estrellas
4k
Forks
525
Merge medio
8 min
PR fusionados (30 d)
1

Guía de contribución

Abrir la guía de contribución

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de geocoder-php/Geocoder

Todos los issues de geocoder-php/Geocoder

Issues similares

Más issues de PHP

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.