31 lines
		
	
	
		
			829 B
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			31 lines
		
	
	
		
			829 B
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <?php
 | |
| namespace nur\sery\wip\schema;
 | |
| 
 | |
| use nur\sery\wip\schema\_assoc\AssocResult;
 | |
| use nur\sery\wip\schema\_list\ListResult;
 | |
| use nur\sery\wip\schema\_scalar\ScalarResult;
 | |
| 
 | |
| /**
 | |
|  * Class Result: résultat de l'analyse ou de la normalisation d'une valeur
 | |
|  */
 | |
| abstract class Result {
 | |
|   function __construct() {
 | |
|     $this->reset();
 | |
|   }
 | |
| 
 | |
|   function isAssoc(?AssocResult &$assoc=null): bool { return false; }
 | |
|   function isList(?ListResult &$list=null): bool { return false; }
 | |
|   function isScalar(?ScalarResult &$scalar=null): bool { return false; }
 | |
| 
 | |
|   /**
 | |
|    * Obtenir la liste des clés valides pour les valeurs accessibles via cet
 | |
|    * objet
 | |
|    */
 | |
|   abstract function getKeys(): array;
 | |
| 
 | |
|   /** obtenir un objet pour gérer la valeur spécifiée */
 | |
|   abstract function getResult($key=null): Result;
 | |
| 
 | |
|   abstract function reset(): void;
 | |
| }
 |