PHP中的连贯操作看起来的确很酷,也非常的方便代码的阅读,当然了必须是在OOP中用才行,在过程化的程序中,就没有必要用这种方法了。有实现这个方法的有用_CALL来实现的,而我下面写的这个例子,则不是用_call的,大家可以扩展一下吧。
下面写的这个SQL语句组合类,主要是用于学习的,如果有同学想拿去用,请再完善一下。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
|
/* * 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 |