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 会给出自动提示):