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实现图象锐化代码
Jun 14 PHP
PHP swfupload图片上传的实例代码
Sep 30 PHP
php检测网页是否被百度收录的函数代码
Oct 09 PHP
跟我学Laravel之安装Laravel
Oct 15 PHP
百度工程师讲PHP函数的实现原理及性能分析(一)
May 13 PHP
PHP人民币金额转大写实例代码
Oct 02 PHP
64位windows系统下安装Memcache缓存
Dec 06 PHP
php使用pdo连接sqlite3的配置示例
May 27 PHP
详谈PHP程序Laravel 5框架的优化技巧
Jul 18 PHP
thinkphp配置文件路径的实现方法
Aug 30 PHP
php技巧小结【推荐】
Jan 19 PHP
php创建图像具体步骤
Mar 13 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
使用pthreads实现真正的PHP多线程(需PHP5.3以上版本)
2014/05/05 PHP
使用PHPCMS搭建wap手机网站
2015/09/20 PHP
详解cookie验证的php应用的一种SSO解决办法
2017/10/20 PHP
JavaScript操纵窗口的方法小结
2013/06/28 Javascript
onmouseover和onmouseout的一些问题思考
2013/08/14 Javascript
js怎么覆盖原有方法实现重写
2014/09/04 Javascript
Angularjs material 实现搜索框功能
2016/03/08 Javascript
DWR中各种java方法的调用
2016/05/04 Javascript
JavaScript操作表单实例讲解(上)
2016/06/20 Javascript
实例详解jQuery的无new构建
2016/08/02 Javascript
Angular.JS判断复选框checkbox是否选中并实时显示
2016/11/30 Javascript
详解JavaScript树结构
2017/01/09 Javascript
lhgcalendar时间插件限制只能选择三个月的实现方法
2017/07/03 Javascript
简单实现js上传文件功能
2017/08/21 Javascript
jquery一键控制checkbox全选、反选或全不选
2017/10/16 jQuery
vue2 全局变量的设置方法
2018/03/09 Javascript
Angular2使用SVG自定义图表(条形图、折线图)组件示例
2019/05/10 Javascript
jQuery开发仿QQ版音乐播放器
2020/07/10 jQuery
vue+echarts实现中国地图流动效果(步骤详解)
2021/01/27 Vue.js
Python实现的统计文章单词次数功能示例
2019/07/08 Python
django如何实现视图重定向
2019/07/24 Python
PyTorch里面的torch.nn.Parameter()详解
2020/01/03 Python
python对execl 处理操作代码
2020/06/22 Python
伦敦最有品味的百货:Liberty London
2016/11/12 全球购物
意大利辅助药品、药物和补品在线销售:FarmaEurope
2020/04/29 全球购物
心理健康活动总结
2014/04/30 职场文书
公司副总经理岗位职责
2014/10/01 职场文书
设备收款委托书范本
2014/10/02 职场文书
房屋分割离婚协议书范本
2014/12/01 职场文书
2014年幼儿园班级工作总结
2014/12/17 职场文书
社区党员干部承诺书
2015/05/04 职场文书
关于实现中国梦的心得体会
2016/01/05 职场文书
职业规划从高考志愿专业选择开始
2019/08/08 职场文书
2019年作为一名实习生的述职报告
2019/09/29 职场文书
导游词之河北滦平金山岭长城
2019/10/16 职场文书
go xorm框架的使用
2021/05/22 Golang