經驗交流

定義系統組態

問題說明
 在規劃一套應用程式時,您會發現有許多資料將在不同的程式中出現,如:資料庫連線所需的帳號與密碼、資料庫名稱、網站名稱、......等等。
 這些資料如果分別寫在每支程式中,當需要更動時,將會是項不輕鬆的工作。

我的做法
 在我的應用程式中,都會有個名為 configure.php 的檔案(放在根目錄下),其內容大致如下:
<?
// Config for Primary Database
$cfgDB_HOST_1     = 'localhost';
$cfgDB_PORT_1     = '3306';
$cfgDB_USERNAME_1 = 'chensh';
$cfgDB_PASSWORD_1 = '123456';
$cfgDB_NAME_1     = "MyDatabase";

// Config for Secondary Database
$cfgDB_HOST_2     = '163.16.1.**';
$cfgDB_PORT_2     = '3306';
$cfgDB_USERNAME_2 = 'chensh';
$cfgDB_PASSWORD_2 = '123456';
$cfgDB_NAME_2     = "OtherDatabase";

// ================================== 以上係資料庫之相關設定

// Web Title
$cfgWebTitle = "PHP + MySQL 程式設計研習";

// Body Background
$cfgBodyBackground = "media/bg-h99.gif";

// 上傳檔案之存放路徑
$cfgUploadPath = "/usr/home/chensh/upload/";

// 上傳檔案之可用容量(MB)
$cfgUploadQuota = 10;

......
......
?>

 然後在每支程式裡頭,都將這段組態設定給包進來(include("/configure.php"))。日後,即使需要修改資料庫連線的帳號密碼、網站名稱、上傳路徑等設定時,只要異動這支 configure.php 即可。
 這段程式的上半部是用來做資料庫相關的設定,那麼,該如何與資料庫建立連線呢?請參考「連結資料庫(一)」。
經驗交流