modifs.mineures sans commentaires
This commit is contained in:
		
							parent
							
								
									95b0263969
								
							
						
					
					
						commit
						810ead58d6
					
				
							
								
								
									
										49
									
								
								php/src/cache/CacheFile.php
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										49
									
								
								php/src/cache/CacheFile.php
									
									
									
									
										vendored
									
									
								
							| @ -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; | ||||
|  | ||||
							
								
								
									
										20
									
								
								php/tests/cache/cacheTest.php
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										20
									
								
								php/tests/cache/cacheTest.php
									
									
									
									
										vendored
									
									
								
							| @ -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"); | ||||
|       }; | ||||
|     }); | ||||
|   } | ||||
| 
 | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user