これが私のコードであるオートロードと呼び出し/私のクラスをインスタンス化し自動的にロードするクラス()
public function __get($name)
{
$classname = '\\System\\' . ucfirst($name);
if (property_exists($this, '_' . $name))
$this->{'_' . $name} = new $classname();
else
echo $name . ' isn\'t a valid property.';
}
private function boot()
{echo "<pre/>";
spl_autoload_register(null, false);
if (function_exists('__autoload'))
spl_autoload_register('__autoload');
spl_autoload_register(array($this, 'libraries'));
var_dump($this->helper);
//$this->configuration();
}
私は$this->helper
を呼び出すと、私はだから私のこのエラーに
Fatal error: Call to a member function test() on a non-object in (...)
を取得問題は、__get()
メソッドが呼び出されたときにクラスがまだロードされているかどうかです。
そして、あなたのコードがやっているようはい、私のHelper
クラスに
これは、維持するために地獄にする必要があり、それが十分に成長したプロジェクトだとき。 –