PHP
YAML в PHP
Поиск…
Установка расширения YAML
YAML не поставляется со стандартной установкой PHP, вместо этого она должна быть установлена как расширение PECL. В linux / unix он может быть установлен с помощью простого
pecl install yaml
Обратите внимание, что libyaml-dev
должен быть установлен в системе, поскольку пакет PECL является просто оболочкой вызовов libYAML.
Установка на компьютерах Windows отличается - вы можете либо загрузить предварительно скомпилированную DLL, либо создать из источников.
Использование 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']);