「將用戶名/密碼儲存在類別中並不是產品程式碼的好主意。」
比較好的做法是將數據庫連接設定儲存在 *.ini 檔案中,但您必須限制對它們的存取權限。例如,這樣做:
my_setting.ini
[database]
driver = mysql
host = localhost
;port = 3306
schema = db_schema
username = user
password = secret
數據庫連接
<?php
class MyPDO extends PDO
{
public function __construct($file = 'my_setting.ini')
{
if (!$settings = parse_ini_file($file, TRUE)) throw new exception('Unable to open ' . $file . '.');
$dns = $settings['database']['driver'] .
':host=' . $settings['database']['host'] .
((!empty($settings['database']['port'])) ? (';port=' . $settings['database']['port']) : '') .
';dbname=' . $settings['database']['schema'];
parent::__construct($dns, $settings['database']['username'], $settings['database']['password']);
}
}
?>
對於那些一看到 PHP/HTML/任何其他程式碼就抓狂的人來說,資料庫連線參數可以透過淺顯易懂的 ini 檔案來設定。