PHP中的連貫操作看起來的確很酷,也非常的方便代碼的閱讀,當然了必須是在OOP中用才行,在過程化的程序中,就沒有必要用這種方法了。有實現這個方法的有用_CALL來實現的,而我下面寫的這個例子,則不是用_call的,大家可以擴展一下吧。
下面寫的這個SQL語句組合類,主要是用於學習的,如果有同學想拿去用,請再完善一下。
學習用,非專業類
class sql{
private $sql = array(
"from" => "",
"where" => "",
"order" => "",
"limit" => ""
);
public function from($tableName){
$this -> sql["from"] = "FROM " . $tableName;
return $this;
}
public function where($_where = '1=1'){
$this -> sql["where"] = "WHERE " . $_where;
return $this;
}
public function order($_order = 'id DESC'){
$this -> sql["order"] = "ORDER BY " . $_order;
return $this;
}
public function limit($_limit = '30'){
$this -> sql["limit"] = "LIMIT 0," . $_limit;
return $this;
}
public function select($_select = '*'){
return "SELECT " . $_select . " " . (implode(" ", $this -> sql));
}
}
$sql = new sql();
echo $sql -> from("testTable") -> where("id=1") -> order("id DESC") -> limit(10) -> select();
輸出sql語句
SELECT * FROM testTable WHERE id=1 ORDER BY id DESC LIMIT 0,10
文章推薦