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

Oth*_*man 0 php

我正在寻找一些PHP代码,我看到一个对象将在同一行中调用多个方法.

我试图了解如何做到这一点,以及为什么我们需要使用它?

$object->foo("Text")->anotherFoo()->bar("Aloha")
Run Code Online (Sandbox Code Playgroud)

这个造型叫什么?什么是在PHP应用程序中使用它的最佳方式.

sil*_*ire 5

这种语法称为方法链接,因为每个方法都返回对象本身($this).这不一定总是如此,它也用于检索对象的属性,而该对象的属性又可以是对象(可以具有对象的属性,等等).

它用于减少编写代码所需的行数.比较这两个片段:

没有链接

$object->foo("Text");
$object->anotherFoo();
$object->->bar("Aloha");
Run Code Online (Sandbox Code Playgroud)

使用方法链接

$object->foo("Text")->anotherFoo()->bar("Aloha");
Run Code Online (Sandbox Code Playgroud)