0

問題の解決策を見つけようとしていますが、うまくいきません。例えば:

  • 私は1つのメインクラスを持っています:

        class System {  
          public function loadClass($instance, $name)
          {
            $this->$instance = new $name;
          } 
        }
    

そして、別のクラスを System.

        <?php
          $system = new System;
          $system->loadClass('db', 'database');
    ?>

それは機能しています..しかし、次のように、ロードされたクラスからロードされたクラスのすべてのメソッド(およびインスタンス)にアクセスする必要があります。

    <?php   
        class System {  
          public function loadClass($instance, $name)
          {
            $this->$instance = new $name;
          } 

          public function run()
          {
            echo $this->subA->methodA();
            echo $this->subB->methodB();      
          }
        }

        class subClassA extends System {
          function __construct()
          {
            echo $this->subB->methodB();    
          }

          public function methodA()
          {
            return 'okA';
          }
        }

        class subClassB extends System {
          function __construct()
          {
            echo $this->subA->methodA();
          }

          public function methodB()
          {
            return 'okB';
          }
        }

        $system = new System;

        $system->loadClass('subA', 'subClassA');
        $system->loadClass('subB', 'subClassB');

        $system->run();
?>

静的メソッドとインスタンスを使用せずにどのように可能ですか?

4

0 に答える 0