29 lines
		
	
	
		
			910 B
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			29 lines
		
	
	
		
			910 B
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <?php
 | |
| namespace nur\data\expr;
 | |
| 
 | |
| /**
 | |
|  * Interface IExpr: une expression à évaluer dans un contexte
 | |
|  */
 | |
| interface IExpr {
 | |
|   /** schéma d'une représentation d'une expression sous forme de tableau */
 | |
|   const SCHEMA = [
 | |
|     "value" => [null, null, "définition de l'expression", true],
 | |
|     "name" => [null, null, "identifiant de l'expression dans le modèle", true],
 | |
|     "title" => [null, null, "description courte de l'expression, pour affichage", false,
 | |
|       "desc" => "vaut [name] par défaut",
 | |
|     ],
 | |
|   ];
 | |
| 
 | |
|   /** obtenir la définition de l'expression, le cas échéant */
 | |
|   function getValue(): ?string;
 | |
| 
 | |
|   /** obtenir l'identifiant de l'expression */
 | |
|   function getName(): string;
 | |
| 
 | |
|   /** obtenir une description courte de l'expression, pour affichage */
 | |
|   function getTitle(): string;
 | |
| 
 | |
|   /** évalue l'expression dans le contexte spécifié et retourne sa valeur */
 | |
|   function eval(IContext $context);
 | |
| }
 |