game2006api/webapp/mt/Parameter.php
aozhiwei 04b68353e1 1
2021-11-25 14:44:44 +08:00

71 lines
1.6 KiB
PHP

<?php
namespace mt;
use phpcommon;
class Parameter {
public static function get($id)
{
return array_key_exists($id, self::getMetaList()) ? self::getMetaList()[$id] : null;
}
public static function getOldParam($id)
{
$meta = self::get($id);
return array(
'id' => $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;
}