クラスを自動ロードしていて、使用時にクラスを動的にインスタンス化する方法が必要です。
親クラスに20のクラスのインスタンス化を設定する代わりに、呼び出されたときにクラスをインスタンス化する方法が必要です。
例えば:
$this->template->render();
インスタンス化されます
$this->template = new Template();
私はこれを試みました
public function __set($name, $value)
{
return $this->$name;
}
public function __get($name)
{
$this->$name = new $name();
}
これはうまくいかないようですが、私も間違っていると思います。
私が理解できない問題の1つは、クラスが\System名前空間にあることです。エラーが発生したり、発生しnew "\System".$name()
たりすることなく、取り組むことができないようです。new \System.$name()