Zend Framework教程之Zend_Config_Ini用法分析
作者:haiwei.sun 发布时间:2024-05-13 09:23:47
本文实例讲述了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 | 选项数组。下面的键被支持:
|
希望本文所述对大家基于Zend Framework框架的PHP程序设计有所帮助。


猜你喜欢
- 浅拷贝和深拷贝拷贝函数是专门为可变数据类型list、set、dict使用的一种函数。作用是,当一个值指向另一个值的时候,也不会影响指向的值,
- v-model 最好用的就是配合 data 達成 Two-way Binding,但若使用 Vuex 之後,是否還能使用 v-model 搭
- 相关文章ASP.NET Core2.2 中的Configuration配置一ASP.NET Core2.2 中的Configuration配
- 首先我们有这么一种需求,就是我在一个列表中点击了某个item,跳转到详情界面,那么我就需要把item的实体数据从列表页面传递到详情页面,那么
- 农历新年将至,支付宝红包打了一仗,微信在朋友圈屏蔽了它的分享,但单防守还不行,进攻才是最好的防守。昨日,微信支付现金红包接口正式开放,只需开
- 1.setting--version control--subversion,按照图中红色字体填入对应信息2.配置中途遇到没找到svn.ex
- 目前python 提供了几种多线程实现方式 thread,threading,multithreading ,其中thread模块比较底层,
- 本文实例讲述了html静态页面调用php文件的方法。分享给大家供大家参考。具体方法如下:静态页面中看上去好像是不能直接调用php文件的,但是
- 本文实例讲述了php递归删除目录与文件的方法。分享给大家供大家参考。具体实现方法如下:<?phpfunction deldir($pa
- 在Python中我们主要是通过thread和threading这两个模块来实现的,其中Python的threading模块是对thread做
- 一.克隆表法一mysql> create table info1 like info;复制格式,通过LIKE方法,复制info表结构生
- 在 Python 的项目中,如何管理所用的全部依赖库呢?最主流的做法是维护一份“requirements.txt”,记录下依赖库的名字及其版
- 本文为大家分享了pygame游戏之旅的第12篇,供大家参考,具体内容如下实现点击功能:click = pygame.mouse.get_pr
- 一、安装前的准备1、下载安装程序包,可到MySQL官方网站www.mysql.com下载,如图1-1:图1-1下载后的安装文件如图1-2所示
- 在处理css的机制上,IE总是有很多让人吐血的举动,但对于他们现在的改进力度还是值得高兴的。就拿对伪类:hover的支持来说,IE7+终于添
- 阅读本文大概需要3分钟关于函数和模块讲了这么久,我一直想用一个好玩有趣的小例子来总结一下,同时也作为实战练习一下。趣味编程其实是最好的学习途
- 环境搭建下载安 * eego,bee1.开启gomod设置代理go env -w GO111MODULE=ongo env -w GOPROX
- php ffmpeg获取视频缩略图1.环境centos 7ffmpeg version 2.8.15 Copyright2.centos7安
- 1、为什么要掌握进程间通信python的多线程代码效率由于受制于GIL,不能利用多核CPU来加速,而多进程方式可以绕过GIL, 发挥多CPU
- 前言:Python 中的画图工具——turtle(海龟绘图),turtle 是 Python 中自带