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"