From 810ead58d634b3630098b7e400e5356520e11aab Mon Sep 17 00:00:00 2001 From: Jephte Clain Date: Tue, 7 Oct 2025 02:00:52 +0400 Subject: [PATCH] modifs.mineures sans commentaires --- php/src/cache/CacheFile.php | 49 +++++++++++++++-------------------- php/tests/cache/cacheTest.php | 20 +++++++------- 2 files changed, 30 insertions(+), 39 deletions(-) diff --git a/php/src/cache/CacheFile.php b/php/src/cache/CacheFile.php index 6107f9f..035fd05 100644 --- a/php/src/cache/CacheFile.php +++ b/php/src/cache/CacheFile.php @@ -232,38 +232,29 @@ class CacheFile extends SharedFile { $this->start = null; $this->duration = null; $this->data = null; - $updateData = true; } if (!$key && !$external) { - if ($updateData) { - # calculer la valeur - try { - if ($source !== null) $data = $source->compute(); - else $data = $this->compute(); - } catch (Exception $e) { - # le fichier n'est pas mis à jour, mais ce n'est pas gênant: lors - # des futurs appels, l'exception continuera d'être lancée ou la - # valeur sera finalement mise à jour - throw $e; - } - } else { - $data = $this->data; + # calculer la valeur + try { + if ($source !== null) $data = $source->compute(); + else $data = $this->compute(); + } catch (Exception $e) { + # le fichier n'est pas mis à jour, mais ce n'est pas gênant: lors + # des futurs appels, l'exception continuera d'être lancée ou la + # valeur sera finalement mise à jour + throw $e; } if ($this->shouldCache($data)) $this->data = $data; else $this->data = $data = null; - } else { - if ($updateData) { - # calculer la valeur - try { - $data = $source->compute(); - } catch (Exception $e) { - # le fichier n'est pas mis à jour, mais ce n'est pas gênant: lors - # des futurs appels, l'exception continuera d'être lancée ou la - # valeur sera finalement mise à jour - throw $e; - } - } else { - $data = $source->load(); + } elseif ($source !== null) { + # calculer la valeur + try { + $data = $source->compute(); + } catch (Exception $e) { + # le fichier n'est pas mis à jour, mais ce n'est pas gênant: lors + # des futurs appels, l'exception continuera d'être lancée ou la + # valeur sera finalement mise à jour + throw $e; } if ($this->shouldCache($data)) { $data = $source->save($data); @@ -272,10 +263,12 @@ class CacheFile extends SharedFile { $source->delete(); $data = null; } + } else { + $data = null; } } elseif (!$key && !$external) { $data = $this->data; - } elseif ($source->exists()) { + } elseif ($source !== null && $source->exists()) { $data = $source->load(); } else { $data = null; diff --git a/php/tests/cache/cacheTest.php b/php/tests/cache/cacheTest.php index 3a16cb0..7c31f37 100644 --- a/php/tests/cache/cacheTest.php +++ b/php/tests/cache/cacheTest.php @@ -11,16 +11,6 @@ class cacheTest extends _TestCase { ["a" => 1, "b" => 2], ]; - function gendata() { - msg::note("gendata"); - foreach (self::DATA as $key => $item) { - msg::info("yield $key"); - yield $key => $item; - sleep(2); - } - msg::note("fin gendata"); - } - function _testRows(iterable $rows, int $expectedCount) { $count = 0; foreach ($rows as $key => $row) { @@ -70,7 +60,15 @@ class cacheTest extends _TestCase { function testGetGenerator() { $this->_testGet("getGenerator", 3, function () { - return $this->gendata(); + return static function () { + msg::note("gendata"); + foreach (self::DATA as $key => $item) { + msg::info("yield $key"); + yield $key => $item; + sleep(2); + } + msg::note("fin gendata"); + }; }); }