Sometimes, we want to add PHP method chaining or create a fluent interface.
In this article, we’ll look at how to add PHP method chaining or create a fluent interface.
How to add PHP method chaining or create a fluent interface?
To add PHP method chaining or create a fluent interface, we return $this
in our object.
For instance, we write
<?php
class FakeString
{
private $str;
function __construct()
{
$this->str = "";
}
function addA()
{
$this->str .= "a";
return $this;
}
function addB()
{
$this->str .= "b";
return $this;
}
function getStr()
{
return $this->str;
}
}
$a = new FakeString();
echo $a->addA()->addB()->getStr();
to create the FakeString
class.
In it, we have the addA
and addB
return $this
, which is the class instance, after concatenating a string to $this->str
.
As a result, we can chain addA
and addB
like
$a->addA()->addB()->getStr()
since addA
returns the class instance, which we use to call addB
.
Conclusion
To add PHP method chaining or create a fluent interface, we return $this
in our object.