在 PHP 中建立配置檔案

Subodh Poudel 2023年1月30日
  1. 將配置儲存在 PHP 檔案中的陣列中
  2. 將陣列配置型別轉換為 PHP 檔案中的物件
  3. 在 PHP 中使用 INI 檔案建立配置檔案
在 PHP 中建立配置檔案

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

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

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

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

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

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

hostname 設定為 localhostusername 並將 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 並寫入鍵 hostnameusernamepassworddb。然後,編寫正確的配置。一個例子如下所示。

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 檔案的配置檔案。

作者: Subodh Poudel
Subodh Poudel avatar Subodh Poudel avatar

Subodh is a proactive software engineer, specialized in fintech industry and a writer who loves to express his software development learnings and set of skills through blogs and articles.

LinkedIn