php链式操作

1:所谓链式操作最简单的理解就是 操作完毕之后再返回对象$this

例如:

  • $model->where()->field()->limit()->select()

2:代码实现

<?php
namespace IMooc;

class Database
{
    static private $db;

    private function __construct()
    {

    }

    static function getInstance()
    {
        if (empty(self::$db)) {
            self::$db = new self;
            return self::$db;
        } else {
            return self::$db;
        }
    }

    function where($where)
    {
        return $this;
    }

    function order($order)
    {
        return $this;
    }

    function limit($limit)
    {
        return $this;
    }

    function query($sql)
    {
        echo "SQL: $sql\n";
    }
}

$obj = new Database();

//链式操作
$obj->where()->limit()->order()->query();

就是这么esay!!!

PHP 三种方式实现链式操作

标签: Patterns

添加新评论