nur-sery/src/schema/input/Input.php

33 lines
771 B
PHP
Raw Normal View History

2023-11-09 10:03:35 +04:00
<?php
2023-11-09 10:34:36 +04:00
namespace nur\sery\schema\input;
2023-11-09 10:03:35 +04:00
/**
* Class Input: accès à une valeur
*
* cette implémentation lit depuis et écrit dans une référence
*/
class Input {
function __construct(&$value=null) {
$this->value =& $value;
}
protected $value;
function exists($key=null): bool {
if ($key === null) return true;
return $this->value !== null && array_key_exists($key, $this->value);
}
function get($key=null) {
if ($key === null) return $this->value;
elseif ($this->value === null) return null;
elseif (!array_key_exists($key, $this->value)) return null;
else return $this->value[$key];
}
function set($value, $key=null): void {
if ($key === null) $this->value = $value;
else $this->value[$key] = $value;
}
}