很難解釋這種情況,但請參閱示例。PHP中的數據庫和麪向對象實踐
我編寫了一個網頁加載頁面,我初始化一個數據庫類。我將這個類作爲函數參數發送給需要訪問數據庫的任何函數。
我知道這是不好的方法,但目前我不知道如何以任何其他方式做到這一點。你能幫我麼。
例
class sms {
function log_sms($message, $db) {
$sql = "INSERT INTO `smslog` SET
`mesasge` = '$message'
";
$db->query($sql);
if ($db->result)
return true;
return false;
}
}
然後在主網頁上..
$db = new db(username,pass,localhost,dbname);
$sms = new sms;
$sms->log_sms($message, $db);
有沒有比這更好的辦法?
你有每個處理時間的線索嗎?哪個更快,哪個更慢?或者,如果沒有太大的區別,那麼構造函數對我來說看起來最簡單:) – 2009-11-11 17:50:50
哦,很好的概述。謝謝:) – Svish 2009-11-11 17:57:41
你我理解'Registry'和'ServiceLocator'模式的不同。對我而言,您的註冊表看起來像一個ServiceLocator(知道如何實例化對象的註冊表),並且您的ServiceLocator看起來很像...一個ServiceLocator,通過組合實現到另一個類中。這裏沒有任何東西看起來像註冊表。 – 2009-11-11 18:11:03