【问题标题】:How to daisy chain php classes [closed]如何菊花链php类[关闭]
【发布时间】:2012-10-12 06:38:21
【问题描述】:

我想这样做。

$ppl->tech->ceo->apple();

我将如何做到这一点?

【问题讨论】:

  • 通过编写类并使用它们可能吗?
  • 不知道怎么做,这样他们就可以菊花链了
  • 您能否更具体地说明您要实现的目标以及在何种情况下。通过这样做,社区可能更容易理解问题。尝试解释什么不起作用。

标签: php class object models


【解决方案1】:

例如:

class ppl {
  public $tech;

  public function __construct(){
    $this->tech = new tech();
  }
}

class tech {
  public $ceo;

  public function __construct(){
    $this->ceo = new ceo();
  }
}

class ceo {
  public function __construct(){

  }

  public function apple(){
    echo 'Hello.. I\'m apple.';
  }
}

【讨论】:

    【解决方案2】:

    菊花链可以通过返回一个指向对象的指针来实现。它通常用于将方法连接在一起,例如:

    $db = new db();
    $myquery = $db->Select('mytable')->Where('a > 1')->Execute();
    

    菊花链不是将属性与新类连接起来;

    例子:

    class db 
    {
      public function Select( $table )
      {
        // do stuff
        return $this;
      }
    
      public function Where( $Criterium )
      {
        // do stuff
        return $this;
      }
    
      public function Execute()
      {
        // do real work, return a result
      }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-06-06
      • 1970-01-01
      • 2016-06-14
      • 2022-10-02
      • 2017-07-29
      • 2016-03-28
      相关资源
      最近更新 更多