如何菊花链php类

如何菊花链php类,php,class,object,models,Php,Class,Object,Models,我想这样做 $ppl->tech->ceo->apple(); 我怎样才能做到这一点呢?例如: class ppl { public $tech; public function __construct(){ $this->tech = new tech(); } } class tech { public $ceo; public function __construct(){ $this->ceo = new ceo(

我想这样做

$ppl->tech->ceo->apple();
我怎样才能做到这一点呢?

例如:

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.';
  }
}

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

$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
  }
}

通过编写类并可能使用它们?不知道如何使它们相互菊花链,你可以更具体地说出你想要实现什么以及在什么环境下。通过这样做,社区可能更容易理解这个问题。试着解释什么不起作用。