私はの流暢なインターフェイスを作成しようとしています。私はツリーを作成部分を削減したいPHP OOP:流暢なインターフェイスとツリーグラフ
<?php
class node {
private $childs = array();
private $parent;
public function __construct($parent = null) {
$this->parent = $parent;
}
public function addChild($child) {
$this->childs[] = $child;
return $this;
}
public function createChild() {
return $this->addChild(new node($this));
}
public function setFoo() {
/* do something */
return $this;
}
}
$root = new node();
$root ->addChild((new node($root))
->setFoo()
)->addChild((new node($root))
->setFoo()
);
?>
:
は、ここで私は現在、何をすべきかの簡単な例です。
$root->createChild()->setFoo();
$root->createChild()->setFoo();
の1行: 私は何をしたい、このようなものです。新しいノードインスタンスを明示的に作成することなく(new
演算子を使用して最初のコードで行ったように)。
私の目標は、コードにセミコロンを付けることなく、任意の順序の任意のツリーとそのノードを任意の度合いで作成できるようにすることです。