为什么在php中的一行代码中会有多个对象操作符?

我是一个试图让我的头在操作符语法上的人。 我知道它被称为对象操作符,我可以看到它是如何使用的(我们在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...
        }
    }

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


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

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

}

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

addNumber返回自己的一个实例,所以你可以重复地调用addNumber。

通常情况下,一个方法将返回另一个对象的实例,但是同样的原则适用。

链接地址: http://www.djcxy.com/p/58151.html

上一篇: why would there be more than one object operator in a line of code in php?

下一篇: Catchable fatal error: Object of class stdClass could not be converted to string