Zend Framework教程之Zend_Config_Ini用法分析

 更新时间:2016年03月23日 09:14:56   作者:haiwei.sun  
这篇文章主要介绍了Zend Framework教程之Zend_Config_Ini用法,较为详细的分析了Zend_Config_Ini操作配置数据的相关技巧,需要的朋友可以参考下

本文实例讲述了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 构造器参数:

参数注释
$filename要加载的 INI 文件。
$section在INI文件中 [section] (节)将被加载。把这个参数设置为null,所有的节将被加载。另外,一个节名称的数组被提供给加载多个节。
$options = false选项数组。下面的键被支持:
  • allowModifications:设置为true 允许随后加载文件更改。缺省为false

  • nestSeparator: 设置嵌套字符。缺省为"."

更多关于zend相关内容感兴趣的读者可查看本站专题:《Zend FrameWork框架入门教程》、《php优秀开发框架总结》、《Yii框架入门及常用技巧总结》、《ThinkPHP入门教程》、《php面向对象程序设计入门教程》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总

希望本文所述对大家基于Zend Framework框架的PHP程序设计有所帮助。

相关文章

  • PHP魔术方法以及关于独立实例与相连实例的全面讲解

    PHP魔术方法以及关于独立实例与相连实例的全面讲解

    下面小编就为大家带来一篇PHP魔术方法以及关于独立实例与相连实例的全面讲解。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-10-10
  • laravel 时间格式转时间戳的例子

    laravel 时间格式转时间戳的例子

    今天小编就为大家分享一篇laravel 时间格式转时间戳的例子,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-10-10
  • 关于PHP中Session文件过多的问题及session文件保存位置

    关于PHP中Session文件过多的问题及session文件保存位置

    PHP的默认机制:每一次php请求,会有1/100的概率(默认值)触发“session回收”。接下来通过本文给大家介绍关于PHP中Session文件过多的问题及session文件保存位置,需要的朋友参考下
    2016-03-03
  • php猜单词游戏

    php猜单词游戏

    这是一款基于php实现的猜单词小游戏,用的SESSION配合AJAX实现的,感兴趣的小伙伴可以参考一下。
    2015-09-09
  • PHP OPP机制和模式简介(抽象类、接口和契约式编程)

    PHP OPP机制和模式简介(抽象类、接口和契约式编程)

    本文将介绍抽象类、接口和一种称为契约式编程的技术。使用这些OPP机制,所编写的代码就不限于只能计算或者输出内容了。这些机制能够在概念层次上定义类之间交互作用的规则,也为应用程序的扩展和定制提供了基础。
    2014-06-06
  • 浅谈php中的循环while、do...while、for、foreach四种循环

    浅谈php中的循环while、do...while、for、foreach四种循环

    下面小编就为大家带来一篇浅谈php中的循环while、do...while、for、foreach四种循环。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-11-11
  • PHP的Yii框架的基本使用示例

    PHP的Yii框架的基本使用示例

    这篇文章主要介绍了PHP的Yii框架的基本使用示例,包括触发JS和添加关联表等操作,需要的朋友可以参考下
    2015-08-08
  • PHP URL路由类实例

    PHP URL路由类实例

    本文介绍一个PHP URL路由类,很简单,值得学习
    2013-11-11
  • PHP下载大文件失败并限制下载速度的实例代码

    PHP下载大文件失败并限制下载速度的实例代码

    这篇文章主要介绍了PHP下载大文件失败并限制下载速度的实例代码,需要的朋友可以参考下
    2019-05-05
  • PHP无限分类(树形类)

    PHP无限分类(树形类)

    PHP无限分类,Google一下就能找到很多相关资料,思路比较拉风的,也是用得比较多的就是分类表至少有id,pid,name三个字段,id自增表分类,pid为父分类,name为分类名,这样就构成了一棵树,如下,算是我查询分类表得到的结果集
    2013-09-09

最新评论