$meta['id'], 'name' => $meta['param_name'], 'value' => $meta['param_value'], 'param_name' => $meta['param_name'], 'param_value' => $meta['param_value'], ); } public static function getByName($name) { self::mustBeNameHash(); $meta = array_key_exists($id, self::$nameHash) ? self::$nameHash[$name] : null; return $meta; } public static function getVal($name, $defVal) { self::mustBeNameHash(); $meta = array_key_exists($id, self::$nameHash) ? self::$nameHash[$name] : null; return $meta ? $meta['param_value'] : $defVal; } public static function getListValue($meta) { $values = explode("|", $meta['param_value']); return $values; } protected static function getMetaList() { if (!self::$metaList) { self::$metaList = getMetaTable('parameter@parameter.php'); } return self::$metaList; } protected static function mustBeNameHash() { if (!self::$nameHash) { self::$nameHash = array(); foreach (self::getMetaList() as $meta) { self::$nameHash[$meta['param_name']] = $meta; } } } protected static $nameHash; protected static $metaList; }