Q
按顺序调用函数
2
A
回答
4
$object->foo1()->foo2()->foo3();
首先,PHP将得到一个指针从$object
变量foo1
方法。它调用这个方法,然后返回另一个对象。这第二个对象(我们称之为$object2
)有一个方法foo2()
,这也被称为。 foo2()
返回另一个对象($object3
),该对象的方法为foo3()
,该方法返回任何喜欢的对象。
在某些情况下,$object
,$object2
和$object3
只是指向同一对象的指针。这意味着你可以在同一个类上保持调用方法的顺序。
你可以很容易地做到这一点:
class Foo
{
public function nicely()
{
return $this;
}
public function formatted()
{
return $this;
}
public function chained()
{
return $this;
}
public function calls()
{
return $this;
}
}
$foo = new Foo();
$foo->nicely()->formatted()->chained()->calls();
3
当类中的方法返回值时,它们会返回它们自己的对象。这可以让你继续按照发布的顺序调用该类中的其他方法。
class myClassA {
public $str = NULL;
public function setStr($value){
$this->str .= $value;
return $this; // This is the key to sequencing
}
}
$myclass = new MyClassA();
$myclass->setStr("H")->setStr("E");
// If you echoed the $str variable in myClassA, you would get
// "HE"
+1
我认为这个概念也在这里详细解释... http://en.wikipedia.org/wiki/Method_chaining – iWantSimpleLife
相关问题
- 1. Wordpress - 按特定顺序调用函数
- 2. 按JSP编写的按顺序执行的javascript函数调用
- 3. 按排序顺序的SQL调用聚合函数
- 4. 顺序ajax回调函数
- 5. 为什么构造函数按相反顺序调用?
- 6. Swift:按错误顺序调用的函数?
- 7. 按照Python中析构函数的调用顺序混淆
- 8. 调用函数按顺序存储结果
- 9. jQuery ajax请求:按请求顺序调用的成功函数
- 10. 如何强制按顺序调用几个函数?
- 11. OCaml函数调用按错误顺序发生
- 12. jquery - 按顺序执行自定义函数调用
- 13. C++函数调用顺序(boost) - 困惑
- 14. C++析构函数和调用顺序
- 15. 在vuejs中顺序调用函数
- 16. 调用构造函数的顺序
- 17. 函数调用的顺序(C++)
- 18. jquery $ .post函数调用顺序
- 19. JavaScript函数调用顺序不正确
- 20. C++构造函数调用顺序
- 21. 函数调用的顺序C
- 22. oracle wm_concat函数按顺序排序?
- 23. 角度调用循环中的函数/函数按特定顺序
- 24. 按顺序运行nodejs中的函数
- 25. 按执行顺序列出函数
- 26. C函数不按顺序执行
- 27. Loopback:MySQL函数按顺序过滤
- 28. 异步函数未按顺序
- 29. 确保Javascript函数和回调按正确的顺序执行
- 30. 作为回调函数使用时,Javascript函数的火顺序
多项式,phpmet =伟大的解释感谢。 – Gowri