- var_dump: documentation ( source)
<?php
class Enum {
private static $cache = [];
public static function __callStatic($name, $params) {
$className = get_called_class();
if(!isset(self::$cache[$name])) {
self::$cache[$name] = new $className($className::$$name);
}
return self::$cache[$name];
}
}
class Operator {
public const A = 22;
private const EQUALS = ['='];
private $symbol;
private function __const(string $symbol) {
$this->symbol = $symbol;
}
}
$a = "A";
var_dump(Operator::$a);
var_dump(Enum::EQUALS());