我在創建一個我正在處理的框架項目中創建「超級對象」(類似於CodeIgniter)時遇到了一些麻煩。超級對象的可變範圍問題
我想創建一個超級對象,我所有的其他類都會運行。我這樣做了,但似乎我無法在每個類中使用我的超級對象的對象,而無需在每個函數中使用全局關鍵字。
我有這樣的事情:
class a
{
function aa()
{
return 'class a';
}
}
class b
{
function bb()
{
$blah->a->aa();
}
}
class superobj
{
function loadClass($class)
{
$this->$class = new $class;
}
}
class blah extends superobj
{
function __construct()
{
$this->loadClass('a');
$this->loadClass('b');
}
}
$blah = new $blah;
所以,如果我跑,我得到一個錯誤,因爲我無法訪問AA方法。如果我把全局美元放在方法bb中,那麼它就可以工作(或者至少在我真正的項目中,我不知道這個5秒鐘的模型是什麼)。
那麼有沒有辦法讓$ blah對象成爲全局對象,這樣我就不需要爲每個方法都引用它,或者有更好的方法來實現我想要做的事情嗎?
我不是在OOP很好...
可能的重複:http://stackoverflow.com/questions/1234445/php-global-variables – thomaspaulb 2010-11-19 05:27:34