lean-api/src/DescriptorTrait.php
2025-04-25 20:08:52 +00:00

34 lines
938 B
PHP

<?php
namespace Lean\Api;
trait DescriptorTrait
{
protected function displayValue(mixed $value) : string
{
if (is_null($value)) {
return "NULL";
}
elseif (is_bool($value)) {
return $value ? "TRUE" : "FALSE";
}
elseif ($value instanceof \UnitEnum) {
return $value::class . "::" . $value->name;
}
elseif (is_array($value)) {
return sprintf('[ %s ]', implode(', ', array_map([ self::class, 'displayValue' ], $value)));
}
return $value;
}
protected function yesOrNo(bool $toggle) : string
{
return sprintf("<span style='color:%s'>%s</span>", $toggle ? 'green' : '#ac1b1b', $toggle ? 'oui' : 'non');
}
protected function length(int|null $length) : string
{
return sprintf("<span style='color:%s'>%s</span>", $length ? 'black' : 'gray', $length ?? "non-défini");
}
}