【发布时间】:2012-10-12 06:38:21
【问题描述】:
我想这样做。
$ppl->tech->ceo->apple();
我将如何做到这一点?
【问题讨论】:
-
通过编写类并使用它们可能吗?
-
不知道怎么做,这样他们就可以菊花链了
-
您能否更具体地说明您要实现的目标以及在何种情况下。通过这样做,社区可能更容易理解问题。尝试解释什么不起作用。
我想这样做。
$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
}
}
【讨论】: