anterior  
índice  
siguiente  
Updated 2012-10-02 - Version ZF 2.0.3

Introducción

Zend_Config está diseñado para simplificar el acceso y el uso de datos de configuración dentro de aplicaciones. Provee una interfaz de usuario basada en propiedades de objetos anidadas para acceder a datos de configuración dentro del código de la aplicación. Los datos de configuración pueden venir de multitud de medios que soporten almacenamiento de datos de forma jerárquica. Actualmente Zend_Config provee adaptadores para datos de configuración que están almacenados en archivos de texto con Zend_Config_Ini y Zend_Config_Xml.

Usando Zend_Config Per Se

Normalmente, se espera que los usuarios usen una de las clases adaptadoras como Zend_Config_Ini o Zend_Config_Xml, pero si los datos de configuración están disponibles en un array PHP, se puede simplemente pasar los datos al constructor Zend_Config para utilizar una interfaz simple orientada a objetos:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
// Dado un array de datos de configuración
$configArray = array(
    'webhost'  => 'www.example.com',
    'database' => array(
        'adapter' => 'pdo_mysql',
        'params'  => array(
            'host'     => 'db.example.com',
            'username' => 'dbuser',
            'password' => 'secret',
            'dbname'   => 'mydatabase'
        )
    )
);

// Crea el objeto a partir de los datos de configuración
$config = new Zend_Config($configArray);

// Muestra un dato de configuración (resultado: 'www.example.com')
echo $config->webhost;

// Use los datos de configuración para conectarse a la base de datos
$db = Zend_Db::factory($config->database->adapter,
                       $config->database->params->toArray());

// Uso alternativo: simplemente pase el objeto Zend_Config.
// La Zend_Db factory sabe cómo interpretarlo.
$db = Zend_Db::factory($config->database);

Como se ilustra en el ejemplo de arriba, Zend_Config provee una sintáxis de propiedades de objetos anidados para acceder a datos de configuración pasados a su constructor.

Junto al acceso a valores de datos orientado a objetos, Zend_Config también tiene el método get() que devolverá el valor por defecto suministrado si el elemento de datos no existe. Por ejemplo:

1
$host = $config->database->get('host', 'localhost');

Usando Zend_Config con un Archivo de Configuración PHP

A veces, es deseable usar un archivo de configuración puramente PHP. El código siguiente ilustra cómo podemos conseguir esto fácilmente:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
// config.php
return array(
    'webhost'  => 'www.example.com',
    'database' => array(
        'adapter' => 'pdo_mysql',
        'params'  => array(
            'host'     => 'db.example.com',
            'username' => 'dbuser',
            'password' => 'secret',
            'dbname'   => 'mydatabase'
        )
    )
);
1
2
3
4
5
// Lectura de la configuración
$config = new Zend_Config(require 'config.php');

// Muestra un dato de configuración (resultado: 'www.example.com')
echo $config->webhost;
|

Tema anterior

CAPTCHA Adapters

Próximo tema

Aspectos Teóricos

Esta página

Nota: Es necesario estar conectado a tu cuenta GitHub para contribuir a la documentación.

Edit this document

Edit this document

The source code of this file is hosted on GitHub. Everyone can update and fix errors in this document with few clicks - no downloads needed.

  1. Login with your GitHub account.
  2. Go to Introducción on GitHub.
  3. Edit file contents using GitHub's text editor in your web browser
  4. Fill in the Commit message text box at the end of the page telling why you did the changes. Press Propose file change button next to it when done.
  5. On Send a pull request page you don't need to fill in text anymore. Just press Send pull request button.
  6. Your changes are now queued for review under project's Pull requests tab on GitHub.