Buscar..


Instalación de la extensión YAML

YAML no viene con una instalación estándar de PHP, en su lugar, debe instalarse como una extensión PECL. En Linux / UNIX se puede instalar con un simple

pecl install yaml

Tenga en cuenta que el paquete libyaml-dev debe estar instalado en el sistema, ya que el paquete PECL es simplemente una envoltura alrededor de las llamadas libYAML.

La instalación en máquinas Windows es diferente: puede descargar una DLL precompilada o compilar desde fuentes.

Usando YAML para almacenar la configuración de la aplicación

YAML proporciona una manera de almacenar datos estructurados. Los datos pueden ser un simple conjunto de pares nombre-valor o un complejo de datos jerárquicos con valores, incluso siendo matrices.

Considere el siguiente archivo YAML:

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

Digamos, se guarda como config.yaml . Luego, para leer este archivo en PHP se puede usar el siguiente código:

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

print_r producirá la siguiente salida:

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

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

Ahora los parámetros de configuración se pueden usar simplemente usando elementos de matriz:

$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']);


Modified text is an extract of the original Stack Overflow Documentation
Licenciado bajo CC BY-SA 3.0
No afiliado a Stack Overflow