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 04 PHP
一篇有意思的技术文章php介绍篇
Oct 26 PHP
PHP setcookie设置Cookie用法(及设置无效的问题)
Jul 13 PHP
thinkphp普通查询与表达式查询实例分析
Nov 24 PHP
php获取YouTube视频信息的方法
Feb 11 PHP
PHP数组操作――获取数组最后一个值的方法
Apr 14 PHP
php中array_slice和array_splice函数解析
Oct 18 PHP
使用PHPMailer发送邮件实例
Feb 15 PHP
php实现基于pdo的事务处理方法示例
Jul 21 PHP
PHP 应用容器化以及部署方法
Feb 12 PHP
原生php实现excel文件读写的方法分析
Apr 25 PHP
在 PHP 和 Laravel 中使用 Traits的方法
Nov 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
使用 php4 加速 web 传输
2006/10/09 PHP
php 文件状态缓存带来的问题
2008/12/14 PHP
基于PHP magic_quotes_gpc的使用方法详解
2013/06/24 PHP
zend optimizer在wamp的基础上安装图文教程
2013/10/26 PHP
php根据一个给定范围和步进生成数组的方法
2015/06/19 PHP
Swoole源码中如何查询Websocket的连接问题详解
2020/08/30 PHP
javascript prototype 原型链
2009/03/12 Javascript
一个可绑定数据源的jQuery数据表格插件
2010/07/17 Javascript
js获取对象为null的解决方法
2013/11/21 Javascript
深入理解Javascript里的依赖注入
2014/03/19 Javascript
document.compatMode的CSS1compat使用介绍
2014/04/03 Javascript
Eclipse配置Javascript开发环境图文教程
2015/01/29 Javascript
jquery实现可横向和竖向展开的动态下滑菜单效果
2015/08/24 Javascript
详解JavaScript语言的基本语法要求
2015/11/20 Javascript
整理Javascript基础语法学习笔记
2015/11/29 Javascript
微信小程序 用户数据解密详细介绍
2017/01/09 Javascript
EasyUI修改DateBox和DateTimeBox的默认日期格式示例
2017/01/18 Javascript
JavaScript DOM元素常见操作详解【添加、删除、修改等】
2018/05/09 Javascript
js回文数的4种判断方法示例
2019/06/04 Javascript
python制作websocket服务器实例分享
2016/11/20 Python
python得到单词模式的示例
2018/10/15 Python
python内置数据类型之列表操作
2018/11/12 Python
Scrapy 配置动态代理IP的实现
2020/09/28 Python
Python之字符串的遍历的4种方式
2020/12/08 Python
类如何去实现接口
2013/12/19 面试题
如何为DataGridView添加一个定制的Column Type
2014/01/21 面试题
使用C#编写创建一个线程的代码
2013/01/22 面试题
后勤主管工作职责
2013/12/07 职场文书
战友聚会邀请函
2014/01/18 职场文书
项目负责人任命书
2014/06/04 职场文书
村级四风对照检查材料
2014/08/24 职场文书
升职感谢信
2015/01/22 职场文书
女方离婚起诉书
2015/05/18 职场文书
民事起诉状范文
2015/05/19 职场文书
董存瑞观后感
2015/06/11 职场文书
小学教师师德培训心得体会
2016/01/09 职场文书