nur-sery/nur_src/data/expr/IExpr.php

29 lines
910 B
PHP
Raw Normal View History

2023-12-18 05:52:35 +04:00
<?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);
}