这篇文章主要介绍了PHP实现链式操作的核心思想,本文着重讲解它的核心思想,比较直观明子,需要的朋友可以参考下
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 |
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 |
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 会给出自动提示):