早在 2010 年,用户“Chacha102”就发布了以下代码来回答这个问题。我喜欢他的代码(如下所示),但想就如何避免数据库连接凭据出现在代码中的多个位置提出建议。
这是他的代码:
$cb_db = new cb_db(USER, PASSWORD, NAME, HOST);
$cb_user = new cb_user($cb_db);
class cb_user {
public __construct(cb_db $database)
{
$this->database = $database
}
protected function find_by_sql( $sql ) {
$this->database = new cb_db(USER, PASSWORD, NAME, HOST);
$result_set = $cb_db->query( $sql );
$object_array = array();
while( $row = $cb_db->fetch_array( $result_set ) ) {
$object_array[] = self::instantiate( $row );
}
return $object_array;
}
}
问题是我将有许多类和函数,并且不希望将用户名和密码硬编码到每个类和函数中。如果有必要,我更喜欢它,它可以只在一个地方更新。
请问最好的方法是什么?