使用 YAML 儲存應用程式配置

YAML 提供了一種儲存結構化資料的方法。資料可以是一組簡單的名稱 - 值對,也可以是複雜的分層資料,其值甚至是陣列。

考慮以下 YAML 檔案:

database:
    driver: mysql
    host: database.mydomain.com
    port: 3306
    db_name: sample_db
    user: myuser
    password: Passw0rd
debug: true
country: us

比方說,它被儲存為 config.yaml。然後,要在 PHP 中讀取此檔案,可以使用以下程式碼:

$config = yaml_parse_file('config.yaml');
print_r($config);

print_r 將產生以下輸出:

Array
(
    [database] => Array
        (
            [driver] => mysql
            [host] => database.mydomain.com
            [port] => 3306
            [db_name] => sample_db
            [user] => myuser
            [password] => Passw0rd
        )

    [debug] => 1
    [country] => us
)

現在可以通過簡單地使用陣列元素來使用配置引數:

$dbConfig = $config['database'];

$connectString = $dbConfig['driver']
    . ":host={$dbConfig['host']}"
    . ":port={$dbConfig['port']}"
    . ":dbname={$dbConfig['db_name']}"
    . ":user={$dbConfig['user']}"
    . ":password={$dbConfig['password']}";
$dbConnection = new \PDO($connectString, $dbConfig['user'], $dbConfig['password']);