php 链式语法

Posted running-fly

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php 链式语法相关的知识,希望对你有一定的参考价值。

思路:链式语法就是对象调用方法执行赋值操作后返回一个对象,那就可以接着调用方法,最后一个方法返回具体sql语句

<?php
class Sql{
    private $sql=array("from"=>"",
            "where"=>"",
            "order"=>"",
            "limit"=>"");

    public function from($tableName) {
        $this->sql["from"]="FROM ".$tableName;
        return $this;
    }

    public function where($_where=‘1=1‘) {
        $this->sql["where"]="WHERE ".$_where;
        return $this;
    }

    public function order($_order=‘id DESC‘) {
        $this->sql["order"]="ORDER BY ".$_order;
        return $this;
    }

    public function limit($_limit=‘30‘) {
        $this->sql["limit"]="LIMIT 0,".$_limit;
        return $this;
    }
    public function select($_select=‘*‘) {
        return "SELECT ".$_select." ".(implode(" ",$this->sql));
    }
}

$sql =new Sql();

echo $sql->from("testTable")->where("id=1")->order("id DESC")->limit(10)->select();
//输出 SELECT * FROM testTable WHERE id=1 ORDER BY id DESC LIMIT 0,10
?>
  

  

以上是关于php 链式语法的主要内容,如果未能解决你的问题,请参考以下文章

PHP链式操作通过call和callstatic魔术方法的实现,以及phpstorm通过注释去追踪function

jQuery之美——链式语法

PHP项目开发经验整理

谈谈 Objective-C 链式语法的实现

谈谈 Objective-C 链式语法的实现

PHP5.4以上更新的伪"多继承"--trait语法