列出了php中的箭头符号?

列出了php中的箭头符号?,php,Php,这是我一直很好奇的事情。我自己也试图找到答案,但我不知道该用谷歌搜索什么。首先,我习惯于这样做常规查询方法(转义时): $Database->query($sql) 或者如果使用这样的预先准备好的语句: $Database->statement($sql,array('ss',$val1,$val2)) 然而,在阅读一个项目的源代码时,我发现: $id = DB::SQL() ->select("postId") ->f

这是我一直很好奇的事情。我自己也试图找到答案,但我不知道该用谷歌搜索什么。首先,我习惯于这样做常规查询方法(转义时):

$Database->query($sql)

或者如果使用这样的预先准备好的语句:

$Database->statement($sql,array('ss',$val1,$val2))

然而,在阅读一个项目的源代码时,我发现:

$id = DB::SQL()
                ->select("postId")
                ->from("post")
                ->where("conversationId=:conversationId")->bind(":conversationId", $conversation["conversationId"])
                ->orderBy("time DESC")
                ->limit(1)
                ->exec()
                ->result();

现在我知道这是PDO,也是一个随机的例子,但自从我读到这篇文章后,我一直在想这是怎么做到的。如果有人愿意解释的话,我将非常感谢。

您在这里使用的方法是
方法链接

一个简单的例子来自


您是否在问“方法链接”是如何实现的?简单地说,让每个方法返回它调用的同一个对象。如果它是类的一部分,那么
返回$this。这就是我所说的方法链接…)啊,没错!PHP中的Thank you.PDO不支持方法链接,给定的示例看起来也不像PHP的PDO接口
<?php

class fakeString

{
private $str;
function __construct()
{
    $this->str = "";
}

function addA()
{
    $this->str .= "a";
    return $this;
}

function addB()
{
    $this->str .= "b";
    return $this;
}

function getStr()
{
    return $this->str;
}
}


$a = new fakeString();

echo $a->addA()->addB()->getStr(); //outputs ab