Esempio n. 1
0
 /**
  * 构造对象时清除字段
  *
  * 销毁变量以便可以统一采用__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];
 }