PHP 方法链还是流利的接口?
我正在使用 PHP 5,并且听说了面向对象方法中的一个新特性,称为方法链".究竟是什么?如何实现?
I am using PHP 5 and I've heard of a new featured in the object-oriented approach, called 'method chaining'. What is it exactly? How do I implement it?
推荐答案
其实很简单.您有一系列 mutator 方法,它们都返回原始(或其他)对象.这样,您可以继续在返回的对象上调用方法.
It's rather simple, really. You have a series of mutator methods that all return the original (or other) object. That way, you can keep calling methods on the returned object.
<?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();
这会输出ab"
尝试上线啦!
相关文章