2
所以我有這個記錄器(實際上是一個包裝),它可以通過Log::getInstance()->log_this
或->log_that
等應用程序訪問,等等.Ini中有一個配置參數,它會關閉註銷但禁用LogWrapper執行不完全正確:如何優雅地禁用PHP日誌記錄類
private function __construct() {
if(config::get('logging_enabled')) {
$this->logger = new Log();
}
//else?
}
public static function getInstance() {
if(self::$_instance == NULL) {
self::$_instance = new LogWrapper();
}
return self::$_instance;
}
呼叫至getInstance()->any_method
代表到$記錄器實例,但會失敗,因爲$記錄是沒有什麼。
我可以在哪裏停止此流程?這不是修改Log類的選項,我也不能通過應用程序中的每個調用來訪問LogWrapper。我似乎無法得到我的頭,我知道一個巧妙的線將修復它...
感謝您的任何幫助!
是啊,這是一種選擇,但我不想創建另一個類。 – Ethan 2011-04-24 14:21:04
那麼,爲了能夠調用函數,你需要一個實現你的Log接口的類的實例,我不認爲你有很多選擇,如果你不想改變你的代碼的其他部分。 – 2011-04-24 14:25:56
是的,應用程序期待與這些方法的對象 - 我希望有一些欺騙它欺騙! – Ethan 2011-04-24 14:35:22