栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

PHP ORM 实现

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

PHP ORM 实现

_DB = mysql_connect('127.0.0.1','root','') ;       $this->_tableName = $this->getTableName();       $this->_arRelationMap = $this->getRelationMap();       if(isset($id))$this->_ID = $id;   }   abstractprotectedfunction getTableName();   abstractprotectedfunction getRelationMap();   publicfunction Load(){       if(isset($this->_ID)){           $sql = "SELECt ";           foreach($this->_arRelationMap as$k => $v){               $sql .= '`'.$k.'`,';           }           $sql .= substr($sql,0,strlen($sql)-1);           $sql .= "FROM ".$this->_tableName." WHERe ".$this->pk." = ".$this->_ID;           $result =$this->_DB->mysql_query($sql);           foreach($result[0] as$k1 => $v1){              $member = $this->_arRelationMap[$key];              if(property_exists($this,$member)){                 if(is_numeric($member)){                     eval('$this->'.$member.' = '.$value.';');                 }else{                     eval('$this->'.$member.' = "'.$value.'";');                 }              }           }       }       $this->is_load = true;   }   publicfunction __call($method,$param){      $type   = substr($method,0,3);      $member = substr($method,3);      switch($type){         case 'get':             return$this->getMember($member);             break;         case 'set':             return$this->setMember($member,$param[0]);      }      returnfalse;   }   publicfunction setMember($key){       if(property_exists($this,$key)){          if(is_numeric($val)){             eval('$this->'.$key.' = '.$val.';');          }else{             eval('$this->'.$key.' = "'.$val.'";');          }          $this->_modifyMap[$key] = 1;       }else{          returnfalse;       }   }      publicfunction getMember($key,$val){       if(!$this->is_load){          $this->Load();       }       if(property_exists($this,$key)){          eval('$res = $this->'.$key.';' );          return$this->$key;       }       returnfalse;   }   publicfunction save(){      if(isset($this->_ID)){          $sql = "UPDATe ".$this->_tableName." SET ";          foreach($this->arRelationMap as$k2 => $v2){              if(array_key_exists( $k2, $this->_modifyMap)){                  eval( '$val = $this->'.$v2.';');                  $sql_update .=  $v2." = ".$val;              }          }          $sql .= substr($sql_update,0,strlen($sql_update));          $sql .= 'WHERe '.$this->pk.' = '.$this->_ID;      }else{          $sql = "INSERT INTO ".$this->_tableName." (";          foreach($this->arRelationMap as$k3 => $v3){              if(array_key_exists( $k3,$this->_modifyMap)){                  eval('$val = $this->'.$v3.';');                  $field  .= "`".$v3."`,";                   $values .= $val;              }          }          $fields = substr($field,0,strlen($field)-1);          $vals   = substr($values,0,strlen($values)-1);          $sql .= $fields." ) VALUES (".$vals.")";      }      echo$sql;      //$this->_DB->query($sql);   }   publicfunction __destory(){      if(isset($this->ID)){         $sql = "DELETE FROM ".$this->_tableName." WHERe ".$this->pk." = ".$this->_ID;        // $this->_DB_query($sql);      }   }}class User extends Model{    protectedfunction getTableName(){       return "test_user";    }    protectedfunction getRelationMap(){        returnarray(                       'id'       => USER_ID,                      'user_name'=> USER_NAME,                      'user_age' => USER_AGE                    );    }    publicfunction getDB(){       return$this->_DB;    }}$UserIns = new User();print_r($UserIns);?>


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/223072.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号