PHP 设计模式 笔记与总结(4)PHP 链式操作的实现

PHP 链式操作的实现

$db->where()->limit()->order();

在 Common 下创建 Database.php。

链式操作最核心的地方在于:在方法的最后 return $this;

Database.php:

<?php
namespace Common;

class Database{
    function where($where){
        return $this;   //链式方法最核心的地方在于:在每一个方法之后 return $this
    }
    function order($order){
        return $this;
    }
    function limit($limit){
        return $this;
    }
}

index.php:

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

技术分享

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。