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 相关文章推荐
一个PHP模板,主要想体现一下思路
Dec 25 PHP
PHP 分页类(模仿google)-面试题目解答
Sep 13 PHP
在PHP中PDO解决中文乱码问题的一些补充
Sep 06 PHP
PHP显示今天、今月、上月、今年的起点/终点时间戳的代码
May 25 PHP
php输出金字塔的2种实现方法
Dec 16 PHP
PHP使用strtotime获取上个月、下个月、本月的日期
Dec 30 PHP
PHP实现的构造sql语句类实例
Feb 03 PHP
PHP Ajax实现无刷新附件上传
Aug 17 PHP
Yii2框架类自动加载机制实例分析
May 02 PHP
php基于Redis消息队列实现的消息推送的方法
Nov 28 PHP
Laravel5.3+框架定义API路径取消CSRF保护方法详解
Apr 06 PHP
php随机生成验证码,php随机生成数字,php随机生成数字加字母!
Apr 01 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
eWebEditor v3.8 商业完整版 (PHP)
2006/12/06 PHP
PHP中用正则表达式清除字符串的空白
2011/01/17 PHP
PHP实现多进程并行操作的详解(可做守护进程)
2013/06/18 PHP
无刷新动态加载数据 滚动条加载适合评论等页面
2013/10/16 PHP
php模仿qq空间或朋友圈发布动态、评论动态、回复评论、删除动态或评论的功能(中)
2017/06/11 PHP
php封装db类连接sqlite3数据库的方法实例
2017/12/19 PHP
jquery插件制作 自增长输入框实现代码
2012/08/17 jQuery
javascript中的document.open()方法使用介绍
2013/10/09 Javascript
javascript数组操作方法小结和3个属性详细介绍
2014/07/05 Javascript
jQuery.extend 函数及用法详细
2015/09/06 Javascript
jquery实现可旋转可拖拽的文字效果代码
2016/01/27 Javascript
jQuery插件Flexslider实现图片轮播、图文结合滑动切换效果
2020/04/16 Javascript
js仿京东轮播效果 选项卡套选项卡使用
2017/01/12 Javascript
JavaScript中的子窗口与父窗口的互相调用问题
2017/02/08 Javascript
JS实现的数字格式化功能示例
2017/02/10 Javascript
vue 组件使用中的一些细节点
2018/04/25 Javascript
echarts实现词云自定义形状的示例代码
2019/02/20 Javascript
TypeScript 运行时类型检查补充工具
2020/09/28 Javascript
[41:12]Liquid vs Secret 2019国际邀请赛淘汰赛 败者组 BO3 第一场 8.24
2019/09/10 DOTA
通过Python来使用七牛云存储的方法详解
2015/08/07 Python
python pandas dataframe 行列选择,切片操作方法
2018/04/10 Python
pandas DataFrame行或列的删除方法的实现示例
2019/08/02 Python
python shell命令行中import多层目录下的模块操作
2020/03/09 Python
Keras SGD 随机梯度下降优化器参数设置方式
2020/06/19 Python
Python自定义sorted排序实现方法详解
2020/09/18 Python
草莓网英国官网:Strawberrynet UK
2017/02/12 全球购物
你经历的项目中的SCM配置项主要有哪些?什么是配置项?
2013/11/04 面试题
饮料业务员岗位职责
2013/12/15 职场文书
创建无烟单位实施方案
2014/03/29 职场文书
十佳护士先进事迹
2014/05/08 职场文书
假面舞会策划方案
2014/05/29 职场文书
咖啡店创业计划书
2014/08/15 职场文书
婚内分居协议书范文
2014/11/26 职场文书
看雷锋电影观后感
2015/06/10 职场文书
初中班干部工作总结
2015/08/10 职场文书
纪律委员竞选稿
2015/11/19 职场文书