PHP - 从调用后调用函数到类中的另一个函数

时间:2016-09-03 18:02:06

标签: php oop

我有这堂课:

class myClass
{
    function A() {
        $x = "Something ";
        return $x;
    }
    function B() {
        return "Strange";
    }
}

但是我想这样调用函数:

myClass()->A()->B();

如果不返回类本身,我怎么能这样做(返回$ this)?

1 个答案:

答案 0 :(得分:4)

为了实现方法链,你的链中的方法(除了最后一个)必须返回一个对象(在很多情况下,也在你的$this中)。

如果您希望使用方法链接构建字符串,则应使用属性来存储它。快速举例:

class myClass
{
    private $s = "";
    function A() {
        $this->s .= "Something ";
        return $this;
    }
    function B() {
        $this->s .= "Strange";
        return $this;
    }
    function getS() {
        return $this->s;
    }
}

// How to use it:
new myClass()->A()->B()->getS();