[英]How to run database class methods inside other classes?
我剛接觸PHP中的類,我才意識到,在大多數類方法中,我需要執行一些mysql查詢。 我有另一個處理我的連接和查詢的類,但是應該如何從其他類中調用該類呢? 如果我所有的類都依賴於我的DB類,這是否會破壞使用類的目的?
這通常可以通過Singleton或Factory模式解決...
當需要使用數據庫時,可以搶占應用程序的db對象:
$db = Site::getDb(); // singleton
$db->exec('update t set i = i + 1');
getDb返回一個靜態實例。
要么:
$db = Db::getDb('dsn'); // factory
$db->exec('update t set i = i + 1');
返回一個靜態實例(如果存在),或為該dsn創建一個新的數據庫句柄...
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.