如何在PHP中创建可链接的类方法


How to create chainable class methods in PHP

我需要PHP帮助来创建多维类和函数。

我需要调用这样的函数:

 $app = new class1();
 $app->function1()->subfunction1()->subfunclevel2();

我有很多变体,但似乎什么都不起作用。

在Javascript中,我会创建这样的方法:

 (function($){
    function class1(){
        var function1 = function(){
             var subfunction1 = function(){
              };
        };
    };
 });

所以我们将这样称呼它:

 $.class1.function1.subfunction1();

我不知道如何用PHP实现这一点。

我想你想要的是方法链接?为此,您可以在每个函数中返回对对象的引用。

class class1
{
  public function method1()
  {
    echo "method1";
    return $this;
  }
  public function method2()
  {
    echo "method2";
    return $this;
  }
}
$class1_inst = new class1();
$class1_inst->method1()->method2(); // method1method2