簡體   English   中英

如何避免在代碼中的多個位置存儲數據庫憑據?

[英]How can I avoid storing database credentials in multiple places in the code?

用戶“ Chacha102”在2010年針對問題發布了以下代碼。我喜歡他的代碼(如下所示),但希望提出一些有關如何避免數據庫連接憑據出現在代碼中多個位置的建議。

這是他的代碼:

$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;
    }
}

問題是我將擁有許多類和函數,並且不想讓用戶名和密碼都硬編碼到它們中。 我希望在必要時可以在一個地方進行更新。

請完成此操作的最佳方法是什么?

為什么不擁有一個“ config.php”來聲明您將使用的所有變量,例如用戶名,數據庫,服務器,其他可能與站點相關的設置等。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM