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