Property calls approach

// One call per enumeration is necessary and sufficient, // typically at the top of the program, during instantiation phase:ColorEnum::buildInstances(); $color=ColorEnum::$RED;var_dump((string)$color); // string(3) "RED"var_dump(ColorEnum::$RED===ColorEnum::RED()); // true