【问题标题】:How to chain methods in PHP?如何在 PHP 中链接方法?
【发布时间】:2016-05-13 20:48:37
【问题描述】:

我有一个关于如何实现它的最佳方式的问题。

class name {
  public function method($a){ 
    $this->a = $a; 
  }
  public function two($b){
    $this->b = $b;
  }
}

我怎么称呼$class->method('a')->two('b');

return __CLASS__; // self?

在每种方法上?或者是什么?知道什么是最好的方式或所有框架如何实现它。

如果有人可以指导我,我会非常感激...谢谢!

【问题讨论】:

    标签: php oop


    【解决方案1】:

    这是通过在每个方法中返回 $this 来完成的。

    class name {
      public function method($a){ 
        $this->a = $a;
        return $this; 
      }
      public function two($b){
        $this->b = $b;
        return $this; 
      }
    }
    

    无论如何,这个公约有很多反对者(包括我),原因有几个。

    【讨论】:

    • 我很好奇你反对这个约定的原因是什么。从我个人的 C++ 时代开始,我就一直在使用这个约定。
    • 搜索“方法链”。网上有很多讨论。这里是一个例子:stackoverflow.com/questions/16976150/…
    猜你喜欢
    • 2011-11-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-12
    • 2012-11-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多