Zend Framework教程之Zend_Config_Ini用法分析

本文实例讲述了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相关内容感兴趣的读者可查看本站专题:《Zend FrameWork框架入门教程》、《php优秀开发框架总结》、《Yii框架入门及常用技巧总结》、《ThinkPHP入门教程》、《php面向对象程序设计入门教程》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》

希望本文所述对大家基于Zend Framework框架的PHP程序设计有所帮助。

(0)

相关推荐

  • Zend Framework入门教程之Zend_Mail用法示例

    本文实例讲述了Zend Framework入门教程之Zend_Mail用法.分享给大家供大家参考,具体如下: Zend_Mail组件提供了通用化的功能来创建和发送文本. Zend_Mail通过PHP内建的mail()函数或者直接通过SMTP连接来发送邮件. 一个简单的邮件由收件人.主题.邮件内容以及发件人等内容组成. 步骤如下 1.创建对象 2.设置邮件内容 3.发送 案例: <?php require_once "Zend/Mail.php"; $my_mail = new Z

  • Zend Framework入门教程之Zend_Db数据库操作详解

    本文实例讲述了Zend Framework中Zend_Db数据库操作方法.分享给大家供大家参考,具体如下: 引言:Zend操作数据库通过Zend_Db_Adapter 它可以连接多种数据库,可以是DB2数据库.MySQli数据库.Oracle数据库.等等. 只需要配置相应的参数就可以了. 下面通过案例来展示一下其连接数据库的过程. 连接mysql数据库 代码: <?php require_once 'Zend/Db.php'; $params = array('host'=>'127.0.0.

  • Zend Framework教程之配置文件application.ini解析

    本文分析了Zend Framework配置文件application.ini用法.分享给大家供大家参考,具体如下: 最方便,常用的配置方式使用配置文件.配置文件的具体的相关设置选项如下: php.ini的相关的配置选项,具体格式如下: phpSettings.配置选项,例如 phpSettings.display_startup_errors = 1 phpSettings.display_errors = 1 includePath相关配置 includePaths.library = APP

  • Zend Framework实现自定义过滤器的方法

    本文实例讲述了Zend Framework实现自定义过滤器的方法.分享给大家供大家参考,具体如下: 创建自定义的过滤器 代码: <?php require_once 'Zend/Filter/Interface.php'; class MyFilter implements Zend_Filter_Interface{ public function filter($value){ $badlist = array("梨","草莓","苹果"

  • Zend Framework常用校验器详解

    本文实例讲述了Zend Framework常用校验器.分享给大家供大家参考,具体如下: Date日期校验器 代码: <?php require_once 'Zend/Validate/Date.php'; function c_date($date){ $validator = new Zend_Validate_Date(); if($validator->isValid($date)){ echo "输入的日期格式:"; echo $date."有效!<

  • Zend Framework入门教程之Zend_Config组件用法详解

    本文实例讲述了Zend Framework中Zend_Config组件用法.分享给大家供大家参考,具体如下: 1.从PHP数组中读取数据 使用Zend_Config_Ini(读取ini配置文件) Zend_Config_Xml(读取XML配置文件) 案例: <?php require_once("Zend/Loader.php"); Zend_Loader::loadClass('Zend_Config'); $array = array( 'webhost' => '12

  • Zend Framework开发入门经典教程

    本文讲述了Zend Framework开发入门相关知识点.分享给大家供大家参考,具体如下: Zend Framework发布了!虽然仍处于开发初期,这个教程仍突出讲解目前几个最好的功能,并指导你完成一个简单程序的构建. Zend最早在社区里发布了ZF.基于同样的想法,这个教程写来用于展示ZF现有的功能.由于这个教程是在线发布,我将在ZF变化时对其进行更新,以便尽可能有效. 要求 Zend Framework要求PHP5.为了更好利用本教程的代码,你还需要Apache网页服务器.因为示范程序(一个

  • Zend Framework入门教程之Zend_Session会话操作详解

    本文实例讲述了Zend Framework入门教程之Zend_Session会话操作.分享给大家供大家参考,具体如下: 会话命名空间 实现会话 代码: <?php require_once "Zend/Session/Namespace.php"; $myNamespace = new Zend_Session_Namespace('Myspace'); if(isset($myNamespace->numberOfPageRequests)) { $myNamespace

  • 基于Zend的Config机制的应用分析

    Zend的Config类在Zend_Config_Ini 代码$config = new Zend_Config_Ini("/var/www/html/usvn/config/config.ini", "general"); date_default_timezone_set($config->timezone); USVN_ConsoleUtils::setLocale($config->system->locale); === Config.i

  • Zend Framework校验器Zend_Validate用法详解

    本文实例讲述了Zend Framework校验器Zend_Validate用法.分享给大家供大家参考,具体如下: 引言: 是对输入内容进行检查,并生成一个布尔结果来表明内容是否被成功校验的机制. 如果isValid()方法返回False,子类的getMessage()方法将返回一个消息数组来解释校验失败的原因. 为了正确地返回消息与错误内容,对于isValid()方法的每次调用,都需要清除前一个isValid()方法调用所导致的消息和错误. 案例: <?php require_once 'Zen

  • Zend Framework教程之Zend_Config_Xml用法分析

    本文实例讲述了Zend Framework中Zend_Config_Xml用法.分享给大家供大家参考,具体如下: Zend_Config_Xml 让开发者能够存储配置数据到一个简单XML格式并通过嵌入对象属性语法来读取. XML文件的根元素(root element)不相关并可以任意命名.顶级的XML元素和配置数据的节相对应. XML格式通过嵌入XML元素到节一级元素(section-level elements)的下面来支持等级结构组织. 叶一级(leaf-level)的XML元素和配置数据的

  • Zend Framework过滤器Zend_Filter用法详解

    本文实例讲述了Zend Framework过滤器Zend_Filter用法.分享给大家供大家参考,具体如下: 引言:过滤器是对输入内容进行过滤,清除其中不符合过滤规则的内容,并将其余内容返回的过程. Zend中有个Zend_Filter组件用来实现过滤的功能.其中有个Zend_Filter_Interface子类,该子类为实现一般过滤器提供了接口. 要实现过滤器类,需要实现该接口中一个名为filter()的方法. 下面通过实例来演示如何使用Zend_Filter中定义的过滤器,该例演示如何实现字

随机推荐