HOWTO · PHP

在 PHP 中建立配置檔案

本教程介紹如何在 PHP 中建立配置檔案

本頁內容

本文將介紹一些在 PHP 中建立配置檔案的方法。

將配置儲存在 PHP 檔案中的陣列中

我們可以在 PHP 中建立一個配置項陣列來形成一個配置檔案。

關聯陣列最適合儲存配置資料。該檔案可以包含在另一個 PHP 檔案中,並且可以使用配置。

我們可以使用 include() 函式來獲取配置檔案。我們將演示在 PHP 中為資料庫連線建立配置檔案。

例如,建立一個 PHP 檔案 config.php 並建立一個陣列。在陣列中寫入鍵主機名、使用者名稱和密碼。

將 hostname 設定為 localhost、username 並將 password 設定為你的資料庫使用者名稱和密碼。然後返回陣列。

接下來,建立另一個檔案 DB.php,並使用 include() 函式包含 config.php 檔案並將其儲存在 $conf 變數中。建立變數 $hostname、$username、$password 和 $db 以分配配置。

將配置儲存在訪問 $conf 變數的每個陣列項的變數中。在 $db 變數中設定你的資料庫名稱。使用 mysqli_connect() 函式連線伺服器和資料庫。

將我們在上面建立的變數作為引數提供給 mysqli_connect() 函式。如果 config.php 檔案中提供了正確的配置,下面的示例將連線伺服器和資料庫。

這樣,我們就可以在 PHP 中使用陣列來建立配置檔案。

return array(
 'hostname' => 'localhost',
 'username' => 'root',
 'password' => 'pass123'
);
$conf = include('config.php');

$hostname = $conf['hostname'];
$username = $conf['username'];
$password = $conf['password'];
$db = "my_db";

$con = mysqli_connect($hostname, $username, $password,$db);

if (!$con) {
die("Failed to establish connection");
}
echo "Connection established successfully";

輸出:

Connection established successfully

將陣列配置型別轉換為 PHP 檔案中的物件

此方法會將 config.php 檔案中的陣列型別轉換為物件。通過這種方式,可以將配置作為 PHP 檔案中的物件進行訪問。

此外,我們可以從物件中獲得好處以進行資料處理。例如,如果我們使用 JavaScript,物件可以很容易地通過 JSON 傳遞到客戶端。

例如,對陣列進行型別轉換,將 (object) 放在 array 函式之前 return 關鍵字之後。然後,在 index.php 中,以 $conf->hostname 訪問配置,如下例所示。

return (object) array (
 'hostname' => 'localhost',
 'username' => 'root',
 'password' => 'subodh',
 'db' => 'oop'
);
$conf = include('config.php');

$hostname = $conf->hostname;
$username = $conf->username;
$password = $conf->password;
$db = $conf->db;

$con = mysqli_connect($hostname, $username, $password,$db);

if (!$con) {
die("Failed to establish connection");
}
echo "Connection established successfully";

在 PHP 中使用 INI 檔案建立配置檔案

我們還可以使用 PHP 中的 INI 檔案建立配置檔案。我們可以將所有配置儲存在 INI 檔案中,並使用 parse_ini_file() 函式訪問 PHP 檔案中的這些配置。

INI 檔案被廣泛用作配置檔案。該檔案的結構包含鍵值對。

parse_ini_file 將 INI 檔案的內容載入為關聯陣列。我們將演示如何建立 INI 配置檔案以建立與伺服器和資料庫的連線。

例如,建立一個檔案 config.ini 並寫入鍵 hostname、username、password 和 db。然後,編寫正確的配置。一個例子如下所示。

hostname = 'localhost'
username = 'root'
password = 'pass1234'
db = 'my_db'

接下來,建立一個 index.php 檔案並在其中建立一個 $ini 變數。

使用 parse_ini_file() 函式來解析 config.ini 檔案。 $ini 變數包含配置的關聯陣列。

現在使用帶有正確引數的 mysqli_connect() 函式來建立連線,就像我們上面所做的那樣。

$ini = parse_ini_file('config.ini');

$hostname = $ini['hostname'];
$username = $ini['username'];
$password = $ini['password'];
$db = $ini['db'];

$con = mysqli_connect($hostname, $username, $password,$db);

if (!$con) {
die("Failed to establish connection");
}
echo "Connection established successfully";

輸出:

Connection established successfully

需要注意的是,INI 檔案應該儲存在非公共資料夾中,這樣我們就不會遇到任何安全問題。這樣,我們就可以建立一個帶有 INI 檔案的配置檔案。