我需要在我的課程中使用$GLOBALS['db']
($db
在我的index.php中定義),但是當我必須調用它時,我不想使用$GLOBALS['db']
。
我寫了這個代碼在我的課的開頭:
class ClassName
{
var $db;
public function __construct()
{
$this->db = $GLOBALS['db'];
}
public function test()
{
$val = $this->db->oneValue('SELECT first_name FROM users LIMIT 0, 1');
echo $val->first_name;
}
}
但我不喜歡這一點;我更願意在我的代碼中直接使用$db
。有沒有可以通過$db
致電$GLOBALS['db']
的解決方案?
這是相當反模式。考慮使用IoC/DI:'公共函數__construct($ db){$ this-> db = $ db; }' – knittl
OP並沒有真正解釋爲什麼他必須使用$ GLOBAL,即使是全球性的單身人士也不會那麼邪惡! –
你不喜歡cointructor中的這個單一調用,或者不喜歡$ this-> db而不是$ db? –