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;
 | 
						|
}
 |