why would there be more than one object operator in a line of code in php?
我是一个n00b绑定来了解操作符语法。我知道它被称为对象操作符,我可以看到它是如何使用的(在PHP中,我们在哪里使用对象操作符"->"呢?)独自一人。
我试图了解当它们像这样串在一起时的目的(例如"switch($this->request->param('id')):
下面是一个使用Kohana的站点的代码片段:
1 2 3 4 5 6 7 8 9 | public function action_list() { $connections = ORM::factory('Connection') ->with('property') ->with('inviter'); switch ($this->request->param('id')) { // more code... } } |
这叫做"方法链接"。它允许您在一个调用中应用多个方法,从而执行多个操作。这有点像是嵌套函数的OOP等价物。
它通常被称为链接。当一个方法返回一个对象时,您可以对返回的对象调用另一个方法。考虑这样的事情:
1 2 3 4 5 6 7 8 9 10 11 | class A { public $numbers = 0; public function addNumber($num) { $this->numbers += $num; return $this; } } $a = new A(); $a->addNumber(1)->addNumber(2); |
通常情况下,一个方法会返回另一个对象的实例,但同样的原则也适用。