| 1234567891011121314151617181920212223242526272829303132333435 |
- <?php
- namespace MGModule\DNSManager2\mgLibs\custom;
- abstract class BasicEnumAbstract {
- private static $constCacheArray = NULL;
- private static function getConstants() {
- if (self::$constCacheArray == NULL) {
- self::$constCacheArray = array();
- }
- $calledClass = get_called_class();
- if (!array_key_exists($calledClass, self::$constCacheArray)) {
- $reflect = new \ReflectionClass($calledClass);
- self::$constCacheArray[$calledClass] = $reflect->getConstants();
- }
- return self::$constCacheArray[$calledClass];
- }
- public static function isValidName($name, $strict = false) {
- $constants = self::getConstants();
- if ($strict) {
- return array_key_exists($name, $constants);
- }
- $keys = array_map('strtolower', array_keys($constants));
- return in_array(strtolower($name), $keys);
- }
- public static function isValidValue($value) {
- $values = array_values(self::getConstants());
- return in_array($value, $values, $strict = false); //strict true?
- }
- }
|