/** * 构造对象时清除字段 * * 销毁变量以便可以统一采用__get()方法获取 */ protected function _renew_orm_config() { $class_name = $this->_class_name; # 获取当前对象所有变量 $class_vars = get_class_vars($class_name); if (!isset(OOP_ORM_Data::$_offset_setting[$class_name])) { OOP_ORM_Data::$_offset_setting[$class_name] = array(); OOP_ORM_Data::$_field_to_offset[$class_name] = array(); $need_check_config = true; } else { $need_check_config = false; } # 清理key foreach ($class_vars as $k => $v) { $kstr = strtolower($k[0]); if ($kstr >= 'a' && $kstr <= 'z') { if ($need_check_config) { OOP_ORM_Data::$_offset_setting[$class_name][$k] = $v; } unset($this->{$k}); } } # 需要更新配置 if ($need_check_config) { OOP_ORM_Parse::check_config(OOP_ORM_Data::$_offset_setting[$class_name], OOP_ORM_Data::$_field_to_offset[$class_name], OOP_ORM_Data::$_all_id_field_name[$class_name]); } # 当前ID字段 $this->_id_field_name = OOP_ORM_Data::$_all_id_field_name[$class_name]; }