2017-02-24 7 views
0

親から子オブジェクトを作成するにはどうすればよいですか?親オブジェクト内から子オブジェクトを作成しますか?

class Section 
{ 
    protected $url; 
    function __construct($url) 
    { 
     $this->url = $url; 
    } 

    public function createElements() 
    { 

    } 
} 

class ElementA extends Section 
{ 

} 

class ElementB extends Section 
{ 

} 

各セクションは、複数の要素を含むであろう、しかし、部分クラスの全体の目的は、単にセクションに関連するデータを格納しない、要素を作成することです。

+0

あなたが欲しい何をすべきかの出力を教えてください、私はより多くの情報を与えることができますか? –

+0

私はCMSを作っています。セクションクラスは、 'header'、' footer'、 'left column'などのセクション用です。変数 '$ url'は、セクションの要素が格納されているサーバ上のパスです。要素クラスは、 'H2'、' P'、 'FORM'などの要素のためのクラスです。現在、要素は$ urlをパラメータとする静的関数内から生成されます。 –

答えて

0

あなたはこのようにそれを行うことができます:

public function createElements() 
{ 
    $this->children[] = new ElementA($this->url);  // use $this->url 
    $this->children[] = new ElementB('http://www.google.com'); // or not 
} 
+0

私は、セクション内のすべての要素に対してセクションクラスのインスタンスを1つしか持たないことを望んでいます。それ以外の場合は、セクションクラスを持つという目的を壊してしまいます。私はそれが可能だとは思わないが、もしあれば、はるかに効率的なコードになるだろう。 –

関連する問題