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+mysql写的留言本
Oct 09 PHP
一个数据采集类
Feb 14 PHP
PHP实现域名whois查询的代码(数据源万网、新网)
Feb 22 PHP
PHP 全角转半角实现代码
May 16 PHP
PHPThumb PHP 图片缩略图库
Mar 11 PHP
php实现aes加密类分享
Feb 16 PHP
php绘制一个矩形的方法
Jan 24 PHP
PHP文件下载实例代码浅析
Aug 17 PHP
ThinkPHP 整合Bootstrap Ajax分页样式
Dec 23 PHP
php file_get_contents取文件中数组元素的方法
Apr 01 PHP
php实现的mongoDB单例模式操作类
Jan 20 PHP
PhpStorm2020 + phpstudyV8 +XDebug的教程详解
Sep 17 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
jQuery EasyUI API 中文文档 - DateBox日期框
2011/10/15 PHP
php中ftp_chdir与ftp_cdup函数用法
2014/11/18 PHP
护卫神php套件 php版本升级方法(php5.5.24)
2015/05/10 PHP
PHP封装的数据库保存session功能类
2016/07/11 PHP
PHP简单实现欧拉函数Euler功能示例
2017/11/06 PHP
PHP ADODB实现分页功能简单示例
2018/05/25 PHP
laravel 实现向公共模板中传值 (view composer)
2019/10/22 PHP
jQuery选择器全集详解
2014/11/24 Javascript
jQuery实现自动滚动到页面顶端的方法
2015/05/22 Javascript
浅谈JavaScript中运算符的优先级
2015/07/07 Javascript
基于Jquery制作图片文字排版预览效果附源码下载
2015/11/18 Javascript
seajs学习之模块的依赖加载及模块API的导出
2016/10/20 Javascript
Vue.js组件使用开发实例教程
2016/11/01 Javascript
Bootstrap面板学习使用
2017/02/09 Javascript
jQuery点击头像上传并预览图片
2017/02/23 Javascript
对vue 键盘回车事件的实例讲解
2018/08/25 Javascript
在vue项目中引入highcharts图表的方法
2019/01/21 Javascript
vue.js的vue-cli脚手架中使用百度地图API的实例
2019/01/21 Javascript
javascript判断一个变量是数组还是对象
2019/04/10 Javascript
javascript实现鼠标点击生成文字特效
2019/12/24 Javascript
[00:56]2014DOTA2国际邀请赛 DK、iG 赛前探访
2014/07/10 DOTA
python翻译软件实现代码(使用google api完成)
2013/11/26 Python
利用Django框架中select_related和prefetch_related函数对数据库查询优化
2015/04/01 Python
python+pandas分析nginx日志的实例
2018/04/28 Python
python print 按逗号或空格分隔的方法
2018/05/02 Python
django-初始配置(纯手写)详解
2019/07/30 Python
解析Python3中的Import
2019/10/13 Python
python 回溯法模板详解
2020/02/26 Python
如何用 Python 制作 GitHub 消息助手
2021/02/20 Python
猫途鹰:全球领先的旅游点评社区
2017/04/07 全球购物
Under Armour安德玛意大利官网:美国高端运动科技品牌
2020/01/16 全球购物
研究生求职推荐信范文
2013/11/30 职场文书
行政人员岗位职责
2013/12/08 职场文书
食品安全处置方案
2014/06/14 职场文书
警示教育片观后感
2015/06/17 职场文书
Java设计模式之享元模式示例详解
2022/03/03 Java/Android