Zend Framework教程之Zend_Config_Ini用法分析


Posted in PHP onMarch 23, 2016

本文实例讲述了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 Framework框架的PHP程序设计有所帮助。

PHP 相关文章推荐
对盗链说再见...
Oct 09 PHP
一家之言的经验之谈php+mysql扎实个人基本功
Mar 27 PHP
PHP中的session永不过期的解决思路及实现方法分享
Apr 20 PHP
php中批量修改文件后缀名的函数代码
Oct 23 PHP
超级实用的7个PHP代码片段分享
Jan 05 PHP
浅析php工厂模式
Nov 25 PHP
PHP缓存集成库phpFastCache用法
Dec 15 PHP
php检查页面是否被百度收录
Oct 28 PHP
Symfony2学习笔记之插件格式分析
Mar 17 PHP
PHP实现git部署的方法教程
Dec 19 PHP
Laravel 实现密码重置功能
Feb 23 PHP
Yii框架学习笔记之session与cookie简单操作示例
Apr 30 PHP
PHP正则获取页面所有图片地址
Mar 23 #PHP
Zend Framework教程之Zend_Config_Xml用法分析
Mar 23 #PHP
php获取文件后缀的9种方法
Mar 22 #PHP
Zend Framework教程之Zend_Registry对象用法分析
Mar 22 #PHP
Zend Framework实现多服务器共享SESSION数据的方法
Mar 22 #PHP
Zend Framework框架Smarty扩展实现方法
Mar 22 #PHP
Zend Framework框架路由机制代码分析
Mar 22 #PHP
You might like
ip签名探针
2006/10/09 PHP
DISCUZ 论坛管理员密码忘记的解决方法
2009/05/14 PHP
解析dedecms空间迁移步骤详解
2013/05/15 PHP
PHP中使用strpos函数实现屏蔽敏感关键字功能
2014/08/21 PHP
php使用curl并发减少后端访问时间的方法分析
2016/05/12 PHP
PHP中Laravel 关联查询返回错误id的解决方法
2017/04/01 PHP
jquery操作select option 的代码小结
2011/06/21 Javascript
javascript 闭包
2011/09/15 Javascript
jQuery之尺寸调整组件的深入解析
2013/06/19 Javascript
javascript实现复选框超过限制即弹出警告框的方法
2015/02/25 Javascript
jQuery实现HTML表格单元格的合并功能
2016/04/06 Javascript
Knockoutjs 学习系列(二)花式捆绑
2016/06/07 Javascript
vue-router路由简单案例介绍
2017/02/21 Javascript
JavaScript编写的网页小游戏,很给力
2017/08/18 Javascript
vue内置组件transition简单原理图文详解(小结)
2018/07/12 Javascript
JS实现继承的几种常用方式示例
2019/06/22 Javascript
python将多个文本文件合并为一个文本的代码(便于搜索)
2011/03/13 Python
布同 统计英文单词的个数的python代码
2011/03/13 Python
JSON Web Tokens的实现原理
2017/04/02 Python
Python 3实战爬虫之爬取京东图书的图片详解
2017/10/09 Python
Python3.6安装及引入Requests库的实现方法
2018/01/24 Python
python爬取微信公众号文章
2018/08/31 Python
python实现对指定字符串补足固定长度倍数截断输出的方法
2018/11/15 Python
对DataFrame数据中的重复行,利用groupby累加合并的方法详解
2019/01/30 Python
浅谈python opencv对图像颜色通道进行加减操作溢出
2020/06/03 Python
使用CSS3编写灰阶滤镜来制作黑白照片效果的方法
2016/05/09 HTML / CSS
CSS代码检查工具stylelint的使用方法详解
2021/03/27 HTML / CSS
《油菜花开了》教学反思
2014/02/22 职场文书
高中教师先进事迹材料
2014/08/22 职场文书
酒店端午节活动方案
2014/08/26 职场文书
酒店服务员岗位职责
2015/02/09 职场文书
应聘教师自荐信
2015/03/26 职场文书
2019最新婚庆对联集锦!
2019/07/10 职场文书
Redis延迟队列和分布式延迟队列的简答实现
2021/05/13 Redis
分析mysql中一条SQL查询语句是如何执行的
2021/06/21 MySQL
德劲DE1107指针试高灵敏度全波段收音机机评
2022/04/05 无线电