我正在創建一個應用程序,我想要在MySQL或SQL Server上運行(不是同時運行)我創建了兩個PHP類DatabaseMySQL和DatabaseSQLSVR,並且希望我的應用程序能夠根據在安裝時設置的常量知道要使用哪個數據庫類。MySQL或SQL Server
define(DB_TYPE,「mysql」); //或「sqlsrv」
我在想辦法解決這個問題。我的想法是在我實例化數據庫的地方執行「if else」:
$ db =(DB_TYPE ==「mysql」)?新的DatabaseMySQL:新的DatabaseSQLSVR;
我知道必須有更好的方法來做到這一點。假設我想稍後添加第三個數據庫類型;我必須去重做我的所有代碼。
現實情況是,除非是非常簡單的SQL,否則您必須調整語句。但如果你想獲得最佳表現,這就是要走的路。 – 2010-06-13 18:31:37
而且你總是可以使用switch ... case語句而不是if ... else if ... else。當然,還有更好的解決方案,請參閱 – 2010-06-13 22:20:41