PHP 链式操作的实现
$db->where()->limit()->order();
在 Common 下创建 Database.php。
链式操作最核心的地方在于:在方法的最后 return $this;
Database.php:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
<?php namespace Common; class Database{ function where( $where ){ return $this ; //链式方法最核心的地方在于:在每一个方法之后 return $this } function order( $order ){ return $this ; } function limit( $limit ){ return $this ; } } |
index.php:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
<?php define( 'BASEDIR' ,__DIR__); //定义根目录常量 include BASEDIR. '/Common/Loader.php' ; spl_autoload_register( '\\Common\\Loader::autoload' ); $db = new \Common\Database(); //传统的操作需要多行代码实现 //$db->where('id = 1'); //$db->where('name = 2'); //$db->order('id desc'); //$db->limit(10); //使用链式操作,一行代码解决问题 $db ->where( 'id = 1' )->where( 'name = 2' )->order( 'id desc' )->limit(10); |
在使用链式操作时,ide(netbeans 会给出自动提示):