0

複数の子クラスからデータを取り込み、最後に値を表示するphpクラスを作成しようとしています

class ManifestBuilder
{

  static $manifest;

  function __construct( )
  {
    $this->get_manifest( );
  }

  function get_manifest( )
  { 
    include 'manifest.php';
    include 'sub1/manifest.php';
    include 'sub2/manifest.php';
    var_dump ( ManifestBuilder::$manifest ); 
  }

  function add_manifest( $var )
  {
    ManifestBuilder::$manifest .= $var;
  }


}

new ManifestBuilder( );

それぞれの子供はこのように見えます

class Manifest extends ManifestBuilder 
{

  function __construct( )
  {
    $this->manifest( );
  }

  function manifest( )
  {

    parent::add_manifest( 'manifest1' );

  }

}

new Manifest( );

問題は、各子でクラスに同じ名前を付けて、簡単に移動できるようにしたいのですが、クラス名を同じにすることはできないというエラーが発生します(予期された)。

どうすればこれを解決できますか?複数の子クラスを親クラスの変数に追加できるようにしたい。

ありがとう。

4

1 に答える 1

2

できません。それはそれと同じくらい簡単です。

そして、それも理にかなっています。同じクラスでさらに機能が必要な場合は、単純にリファクタリングしてください。子クラスが必要な場合は、それを拡張します。

于 2012-09-25T22:16:16.777 に答える