PHP類連貫操作的實現方法
PHP中的連貫操作看起來的確很酷,也非常的方便代碼的閱讀,當然了必須是在OOP中用才行,在過程化的程序中,就沒有必要用這種方法了。有實現這個方法的有用_CALL來實現的,而我下面寫的這個例子,則不是用_call的,大家可以擴展一下吧。
下面寫的這個SQL語句組合類,主要是用於學習的,如果有同學想拿去用,請再完善一下。
/*
* SQL語句組合實例類,始發文章web開發筆記
* www.chhua.com
* 學習用,非專業類
* */
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();
//輸出 SELECT * FROM testTable WHERE id=1 ORDER BY id DESC LIMIT 0,10