检查字段名
null Module_OOP_ORM_Parse::_check_fieldname( string $key , array & $field_config , & $field_to_offset )
参数列表
参数 类型 描述 默认值 $key
string
$key $field_config
array
$field_config $field_to_offset
unknown
protected static function _check_fieldname($key, &$field_config, &$field_to_offset)
{
# 是否只读字段
if ( isset($field_config['is_readonly']) )
{
$field_config['is_readonly'] = (bool)$field_config['is_readonly'];
}
# 是否虚拟字段
if ( isset($field_config['is_virtual_field']) && $field_config['is_virtual_field'] )
{
unset($field_config['field_name']);
return;
}
elseif ( !isset($field_config['field_name']) )
{
$field_config['field_name'] = $key;
}
$field_config['is_virtual_field'] = false;
if ( false!==strpos($field_config['field_name'], '[') && preg_match('#^([a-z0-9_]+)\[(.*)\]$#i', $field_config['field_name'], $m) )
{
# 支持 test[abc][def] 格式
unset($field_config['field_name'], $field_config['data'], $field_config['orm']);
$field_config['_parent_offset_name'] = $m[1];
$field_config['_sub_key_name'] = str_replace('][', '.', $m[2]);
}
elseif ( false!==strpos($field_config['field_name'] , '.') )
{
# 支持 test.abc.def 格式
unset($field_config['field_name'], $field_config['data'], $field_config['orm']);
$m = explode('.', $field_config['field_name'],2);
$field_config['_parent_offset_name'] = $m[0];
$field_config['_sub_key_name'] = $m[1];
}
else
{
$field_to_offset[$field_config['field_name']][] = $key;
}
}