Zend Framework教程之Zend_Config_Ini用法分析
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 构造器参数:
希望本文所述对大家基于Zend Framework框架的PHP程序设计有所帮助。
更多Zend Framework教程之Zend_Config_Ini用法分析相关文章请关注PHP中文网!
下一篇: Mybatis与Hibernate的区别
推荐阅读
-
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教程