在php中列出的箭头符号?

时间:2014-10-16 17:08:19

标签: php

这是我一直很好奇的事情。我试图自己找到答案,但我不能完全考虑谷歌的内容。首先,我习惯于像这样(转义时)执行常规查询方法:

$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,也是一个随机的例子,但是自从我读到这个以来我一直想知道如何做到这一点。如果有人愿意解释,那么我真的很感激。

1 个答案:

答案 0 :(得分:1)

您在此处执行的方法是method chaining

来自here的简单示例。

<?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