Zend Framework教程之Zend_Config_Ini用法分析_PHP
Zend_Config_Ini允许开发者通过嵌套的对象属性语法在应用程序中用熟悉的 INI 格式存储和读取配置数据。INI 格式在提供拥有配置数据键的等级结构和配置数据节之间的继承能力方面具有专长。配置数据等级结构通过用点或者句号 (.)分离键值。一个节可以扩展或者通过在节的名称之后带一个冒号(:)和被继承的配置数据的节的名称来从另一个节继承。
parse_ini_file
Zend_Config_Ini 使用parse_ini_file()PHP 函数。请复习这个文档了解它的特定行为,它在Zend_Config_Ini中使用,例如true, false, yes, no 和 null 这些特殊的值如何操作。
键分离器
缺省地,键分离器字符是句号(.)。然而,这个可以通过当构造Zend_Config_Ini对象时修改$options key 'nestSeparator' 被修改。例如:
$options['nestSeparator'] = ':'; $config = new Zend_Config_Ini('/path/to/config.ini', 'staging', $options);
例 :使用 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.example.com database.params.username = devuser database.params.password = devsecret
接着,假定开发者需要从INI文件取开发配置数据。这非常简单,只要指定INI文件和开发系统节就可以加载这些数据了:
$config = new Zend_Config_Ini('/path/to/config.ini', 'staging'); echo $config->database->params->host; // 输出 "dev.example.com" echo $config->database->params->dbname; // 输出 "dbname"
注意
表 Zend_Config_Ini 构造器参数:
参数 | 注释 |
---|---|
$filename |
要加载的 INI 文件。 |
$section |
在INI文件中 [section] (节)将被加载。把这个参数设置为null,所有的节将被加载。另外,一个节名称的数组被提供给加载多个节。 |
$options = false |
选项数组。下面的键被支持:
|
更多关于zend相关内容感兴趣的读者可查看本站专题:《Zend FrameWork框架入门教程》、《php优秀开发框架总结》、《Yii框架入门及常用技巧总结》、《ThinkPHP入门教程》、《php面向对象程序设计入门教程》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》
希望本文所述对大家基于Zend Framework框架的PHP程序设计有所帮助。
推荐阅读
-
Zend Framework框架教程之Zend_Db_Table_Rowset用法实例分析_php实例
-
Zend Framework教程之Application用法实例详解_php实例
-
Zend Framework教程之资源(Resources)用法实例详解,zendframework_PHP教程
-
Zend Framework教程之Loader以及PluginLoader用法详解_php实例
-
Zend Framework教程之分发器Zend_Controller_Dispatcher用法详解_php实例
-
Zend Framework教程之Autoloading用法详解_php实例
-
Zend Framework教程之前端控制器Zend_Controller_Front用法详解_php实例
-
Zend Framework教程之模型Model用法简单实例,zendframework_PHP教程
-
Zend Framework教程之Bootstrap类用法概述_php实例
-
Zend Framework教程之Zend_Controller_Plugin插件用法详解,zendframework_PHP教程