为什么在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