我正在創建一個類(Datamap),它將幫助我簡化我的模型類中的查詢。基本上,這個類(Datamap)與我的db類一起使用。我正在創建一個生成sql查詢的類。我做對了嗎?
以前爲我的模型中的插入語句我需要。現在
$db->query("INSERT INTO test(id,name) VALUES("id","name")");
,用數據圖類,它會像
$datamap->create("test","id=id&name=name");
下面是我創建的數據圖類的代碼片段。
function create($tablename,$variables){
$id=0;
$tbl = $this->creturnval($variables);
$tblVal = $tbl[0];
$tblData = $tbl[1];
$this->db->execute("INSERT into $tablename($tblVal) VALUES($tblData);");
$id = $this->db->lastInsertedId();
return $id;
}
function creturnval($variables){
$vars = explode("&",$variables);
$count = sizeOf($vars);
$tblVal = "";
$tblData = "";
for($i=0;$i<$count;$i++){
$d = explode("=",$vars[$i]);
$tblVal.= $d[0].",";
$tblData.= "'".$d[1]."'".",";
}
$tblVal = rtrim($tblVal, ',');
$tblData = rtrim($tblData, ',');
$return[0] = $tblVal;
$return[1] = $tblData;
return $return;
}
我的問題實際上是性能問題。以前在我的模型類中,如果我只使用$db->query()
,它似乎更快,因爲我不必經歷2個函數。
現在,爲了做一個插入,我將需要解析變量,拆分&等,然後處理它。
我使用這個Datamap類的想法實際上是爲了提供更多的可維護性和標準化。這是爲了防止所有模型類在看起來不整潔的地方使用sql語句。
您是否認爲這會帶來性能問題?
PS:我用我自己的框架,我建我的web應用程序
感謝所有的建議。
不要擔心性能。只在實際遇到性能問題時擔心性能。 – Halcyon 2012-07-10 23:09:34
@Frits,我不一定會同意這一點。你應該總是找到第一次寫代碼的最有效的方法。 – Austin 2012-07-10 23:12:29
你寫這個包裝的方式完全否定了PDO的任何注射預防。不是一個好主意。 – Eric 2012-07-10 23:13:03