作为对象的方法 - 如何/何时

时间:2012-05-27 12:47:51

标签: php oop class methods

  

可能重复:
  PHP method chaining?

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

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

从我读过的OOP教程中,这是编写类的方法,

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

什么时候应该使用它,怎么做?道歉,但我是OOP的新手。

2 个答案:

答案 0 :(得分:4)

如果您的方法返回$ this,您将能够使用上述样式($object->method()->anotherMethod())。只有在您的方法不希望返回其他内容的情况下才能执行此操作,例如:一个名为getSomething()的方法应该返回Something,但是如果你有一个没有相关值的方法可以返回,你可以返回$ this,允许方法调用链。

答案 1 :(得分:3)

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