$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($name, self::$nameHash) ? self::$nameHash[$name] : null; return $meta; } public static function getVal($name, $defVal) { $meta = self::getByName($name); return $meta ? $meta['param_value'] : $defVal; } public static function getListValue($name, $defVal = array()) { $val = self::getVal($name, null); if ($val == null) { return $defVal; } $values = explode('|', $val); 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; }