doujujian0052 2013-09-26 12:30
浏览 31
已采纳

如何在一行中调用另一个方法之后的方法

I was looking to some php codes, and I saw an object that will call multiple methods in the same line.

I've tried to understand how to do it, and why we need to use it?

$object->foo("Text")->anotherFoo()->bar("Aloha")

What this styling called? and what is the best way to use it in php applications.

  • 写回答

2条回答 默认 最新

  • douzhan1935 2013-09-26 12:31
    关注

    This syntax is called method chaining, and it's possible because each method returns the object itself ($this). This is not necessarily always the case, it's also used to retrieve an object's property that in turn also can be an object (which can have properties that are objects, and so on).

    It is used to reduce the amount of lines that you need to write code on. Compare these two snippets:

    Without chaining

    $object->foo("Text");
    $object->anotherFoo();
    $object->->bar("Aloha");
    

    Using method chaining

    $object->foo("Text")->anotherFoo()->bar("Aloha");
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?