3

我很想了解运算符语法。我知道它被称为对象运算符,我可以看到它是如何使用的(在 PHP 中我们在哪里使用对象运算符“->”?)。

我试图了解当它们像在这个片段中那样串在一起时的目的是什么(例如“switch($this->request->param('id')):

这是来自使用 Kohana 的网站的一段代码:

public function action_list()
{
    $connections = ORM::factory('Connection')
        ->with('property')
        ->with('inviter');
    switch ($this->request->param('id')) {
    // more code...
        }
    }
4

2 回答 2

4

它被称为“方法链”。它允许您应用不止一种方法,从而在一次调用中做不止一件事。它是嵌套函数的 OOP 等价物。

于 2013-03-03T17:43:52.727 回答
0

它通常被称为链接。当一个方法返回一个对象时,您可以在该返回的对象上调用另一个方法。考虑这样的事情:

class A {
    public $numbers = 0;
    public function addNumber($num) {
        $this->numbers += $num;
        return $this;
    }

}

$a = new A();
$a->addNumber(1)->addNumber(2);

addNumber正在返回自身的一个实例,因此您可以重复调用 addNumber。

一个方法通常会返回另一个对象的实例,但同样的原则也适用。

于 2013-03-03T17:45:59.260 回答