php中的连贯操作看起来的确很酷,也非常的方便代码的阅读,当然了必须是在oop中用才行,在过程化的程序中,,就没有必要用这种方法了。有实现这个方法的有用_call来实现的,而我下面写的这个例子,则不是用_call的,大家可以扩展一下吧。
下面写的这个sql语句组合类,主要是用于学习的,如果有同学想拿去用,请再完善一下。
/* * sql语句组合实例类,始发文章web开发笔记 * 学习用,非专业类 * */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
