0

可能重复:
PHP 方法链接?

在我使用过的很多 API 中,我都看到过这样的事情:

$object->method()->anotherMethod();

从我读过的关于 OOP 的教程中,这就是类的编写方式,

<?php
class myClass {
    public method() {
       // do something
    }
}
?>

什么时候应该使用它,如何使用它?抱歉,但我是 OOP 的新手。

4

2 回答 2

4

如果您的方法返回 $this,您将能够使用上述样式 ( $object->method()->anotherMethod())。这只能在您的方法不期望返回其他内容的情况下完成,例如,一个名为 like 的方法getSomething()预计会返回Something,但是如果您有一个没有相关值要返回的方法,您可以只返回 $this,允许方法调用链。

于 2012-05-27T12:51:10.410 回答
3

这称为方法调用链。关于何时应该使用它并没有硬性规定,但我使用的一般规则是,当有一系列对象方法经常一个接一个地调用时,方法链接才有意义,例如初始化函数。

于 2012-05-27T12:52:14.560 回答