Zend_Config_Ini

Zend_Config_Ini容许开发者经过嵌套的对象属性语法在应用程序中用 悉的 IN I 格式存储和 读取配置数据。INI 格式在提供拥有配置数据键的等级结构和配置数据节 之间的继承能力方面具备专长。配置数据等级结构经过用点或者句号 (.)分离键值。一个节能够扩展或者通 过在节的名称以后带一个冒号( : )和被继 承的配置数据 的节的名称来从另外一个节继承。

              1. Zend_Config_Ini 构造器

             $options['nestSepara tor'] = ':';         // 修改键分离器,缺省是句号(.)
             $config = new Zend_Config_Ini ('/path/to/config.ini',  'stagi ng', $options);

             参数说明:
             参数                        注释
             $filename          要加载的 INI 文件。
             $section            在INI文件中 [section] (节)将被加载。把这个参数 设置为null,全部的节将被加载。另外,一个节名称 的数组被提供给加载多个节。
             $options           选项数组。下面的键被支持:
                                                * allowModifications :设置 为true 容许随后加载文 件更改 ,缺省为false
                                                * nestSeparator:设置嵌套字符,缺省为"."

              2. 使用 Zend_Config_Ini

             这个例子示例了从 INI 文件加载配置数据的Zend_Config_Ini的基本用法。在这个例子中有生产系统(production system)和开发 系统(staging system)的配置数据。由于开发 系统配置数据和生产系统的配置数据相似,因此开发系统的节从生产系统的节继承。在这个案例中,结果 (decision)是任意的而且它能够反过来作,即生产系统节从开发系统节继 承,尽管这不可能用于更复杂的情形。接着,假定下 面的配置数据包含在 /path/to/config.ini中:

             ; 生产站点配置数据
             [production ]
             webhost                                   = www.example.com
             database.adapter                 = pdo_mysql
             database.params.host         = db.example.com
             database.params.username = dbuser
             database.params.password = secret
             database.params.dbname     = dbname

             ; 开发站点配置数据从生产站 点配置数据集成并若是须要可 以重写
             [staging : production]
             database.params.host         = dev.e xample.com
             database.params.username = devuser
             database.params.password = devs ecret

             假定开发者须要从INI文件取开发配置数据。这很是简单,只要指定INI文件 和开发系 统节就能够加载这些数据了:

             $config = new Zend_Config_Ini( '/path/to/config.ini', 'staging');
             echo $config->database->params->host;     // 输  "dev.exampl e.com"
             echo $config->datab ase- >params->dbname; // 输 出 "dbname"
相关文章
相关标签/搜索