nur-sery/src/schema/values/Result.php

33 lines
901 B
PHP
Raw Normal View History

2023-11-09 10:03:35 +04:00
<?php
namespace nur\sery\schema\values;
/**
* Class Result: résultat de l'analyse ou de la normalisation d'une valeur
*
* @property-read bool $valid
* @property-read string|int|null $key si la valeur est dans un tableau, clé de
* la valeur dans le tableau
* @property-read string|null $orig valeur originale avant analyse
* @property-read string|null $message message d'erreur si la valeur n'est pas
* valide
*/
class Result {
const KEYS = ["valid", "key", "orig", "message"];
function __construct(?array $result=null) {
if ($result === null) $result = ["valid" => false];
foreach (static::KEYS as $key) {
if (!array_key_exists($key, $result)) $result[$key] = null;
}
#XXX interpoler [message] avec les clés de $result
$this->result = $result;
}
2023-11-25 10:04:24 +04:00
/** @var array */
2023-11-09 10:03:35 +04:00
protected $result;
function __get($name) {
return $this->result[$name];
}
}