可能重复:
PHP method chaining?
在我使用过的很多API中,我见过这样的事情:
$object->method()->anotherMethod();
从我读过的OOP教程中,这是编写类的方法,
<?php
class myClass {
public method() {
// do something
}
}
?>
什么时候应该使用它,怎么做?道歉,但我是OOP的新手。
答案 0 :(得分:4)
如果您的方法返回$ this,您将能够使用上述样式($object->method()->anotherMethod()
)。只有在您的方法不希望返回其他内容的情况下才能执行此操作,例如:一个名为getSomething()
的方法应该返回Something
,但是如果你有一个没有相关值的方法可以返回,你可以返回$ this,允许方法调用链。
答案 1 :(得分:3)
这称为Method Call Chaining。关于何时应该使用它没有硬性规定,但我使用的一般规则是,当存在一系列经常被一个接一个地调用的对象方法时,方法链是有意义的,例如初始化函数。