modifs.mineures sans commentaires

This commit is contained in:
Jephté Clain 2024-07-05 15:44:06 +04:00
parent 614f75d540
commit af650a9e44
1 changed files with 11 additions and 9 deletions

View File

@ -23,13 +23,13 @@ class CacheManager {
* @var array tableau {id => cache} indiquant si l'élément id doit être mis en * @var array tableau {id => cache} indiquant si l'élément id doit être mis en
* cache * cache
*/ */
protected $caches; protected array $caches;
/** /**
* @var bool valeur par défaut de cache si la valeur n'est pas trouvée dans * @var bool valeur par défaut de cache si la valeur n'est pas trouvée dans
* $caches * $caches
*/ */
protected $defaultCache; protected bool $defaultCache;
/** /**
* @var array|null groupes à toujours inclure dans le cache. pour les * @var array|null groupes à toujours inclure dans le cache. pour les
@ -38,13 +38,13 @@ class CacheManager {
* *
* $excludes est prioritaire par rapport à $includes * $excludes est prioritaire par rapport à $includes
*/ */
protected $includes; protected ?array $includes;
/** /**
* @var array|null groupes à exclure de la mise en cache. la mise en cache est * @var array|null groupes à exclure de la mise en cache. la mise en cache est
* toujours calculée pour les identifiants de ces groupes. * toujours calculée pour les identifiants de ces groupes.
*/ */
protected $excludes; protected ?array $excludes;
function setNoCache(bool $noCache=true, bool $reset=true): self { function setNoCache(bool $noCache=true, bool $reset=true): self {
if ($reset) $this->caches = []; if ($reset) $this->caches = [];
@ -53,11 +53,13 @@ class CacheManager {
} }
function shouldCache(string $id, ?string $groupId=null, bool $reset=true): bool { function shouldCache(string $id, ?string $groupId=null, bool $reset=true): bool {
$includes = $this->includes; if ($groupId !== null) {
$shouldInclude = $includes !== null && in_array($groupId, $includes); $includes = $this->includes;
$excludes = $this->excludes; $shouldInclude = $includes !== null && in_array($groupId, $includes);
$shouldExclude = $excludes !== null && in_array($groupId, $excludes); $excludes = $this->excludes;
if ($shouldInclude && !$shouldExclude) return true; $shouldExclude = $excludes !== null && in_array($groupId, $excludes);
if ($shouldInclude && !$shouldExclude) return true;
}
$cache = A::get($this->caches, $id, $this->defaultCache); $cache = A::get($this->caches, $id, $this->defaultCache);
$this->caches[$id] = $reset?: $cache; $this->caches[$id] = $reset?: $cache;
return $cache; return $cache;