PHP实现链式操作

转自http://www.cnblogs.com/fancing/p/6394142.html

什么是链式操作

我们经常会在一些应用框架中看到如下代码:

1 $db = new Database;
2 $db->where('cid = 9')->order('aid desc')->limit(10);

看起来很酷很炫,此即为PHP的链式操作。

代码实现

 1 class Database {
 2     public function where($where) {
 3         return $this;
 4     }
 5     public function order($order) {
 6         return $this;
 7     }
 8     public function limit($limit) {
 9         return $this;
10     }
11 }

其关键内容就是在方法中返回return $this,使得方法的返回值再次指向类对象本身,可再进行二次调用。

传统调用方法

$db->where('cid = 9');
$db->order('aid desc');
$db->limit(10);

相比传统调用方法,采用链式操作后,一步到位,牛叉的狠。

时代在变迁,技术不断进度,代码既要好用,还得优雅。

目前链式操作的应用在数据库操作上使用的较多,其他方面可自行挖掘。

原文地址:https://www.cnblogs.com/yuanlipu/p/6435927.html