• Zend Framework中的Zend_Config_Ini配置文件简介
  • 骑驴找马 发表于 2014/12/10 21:47:00 | 分类标签: zend 配置文件 config
  • 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' 被修改。例如:

    1. $options['nestSeparator'] = ':';  
    2. $config = new Zend_Config_Ini('/path/to/config.ini',   
    3.                               'staging',   
    4.                               $options);  


    使用 Zend_Config_Ini

    这个例子示例了从 INI 文件加载配置数据的Zend_Config_Ini的基本用法。在这个例子中有生产系统(production system)和开发系统(staging system)的配置数据。因为开发系统配置数据和生产系统的配置数据类似,所以开发系统的节从生产系统的节继承。在这个案例中,结果(decision)是任意的并且它可以反过来做,即生产系统节从开发系统节继承,尽管这不可能用于更复杂的情形。接着,假定下面的配置数据包含在/path/to/config.ini中:

    ; 生产站点配置数据
    [production]

    1. webhost                  = www.example.com  
    2. database.adapter         = pdo_mysql  
    3. database.params.host     = db.example.com  
    4. database.params.username = dbuser  
    5. database.params.password = secret  
    6. database.params.dbname   = dbname  
    7.   
    8. ; 开发站点配置数据从生产站点配置数据集成并如果需要可以重写  
    9. [staging : production]  
    10. database.params.host     = dev.example.com  
    11. database.params.username = devuser  
    12. database.params.password = devsecret  
    13.   
    14. 接着,假定开发者需要从INI文件取开发配置数据。这非常简单,只要指定INI文件和开发系统节就可以加载这些数据了:  
    15. $config = new Zend_Config_Ini('/path/to/config.ini', 'staging');  
    16. echo $config->database->params->host;   // 输出 "dev.example.com"  
    17. echo $config->database->params->dbname; // 输出 "dbname"  
     

    Zend_Config_Ini 构造器参数

    参数 注释
    $filename 要加载的 INI 文件。
    $section 在INI文件中 [section] (节)将被加载。把这个参数设置为null,所有的节将被加载。另外,一个节名称的数组被提供给加载多个节。
    $options = false 选项数组。下面的键被支持:
    • allowModifications:设置为true 允许随后加载文件更改。缺省为false

    • nestSeparator: 设置嵌套字符。缺省为"."


     
  • 请您注意

    ·自觉遵守:爱国、守法、自律、真实、文明的原则

    ·尊重网上道德,遵守《全国人大常委会关于维护互联网安全的决定》及中华人民共和国其他各项有关法律法规

    ·严禁发表危害国家安全,破坏民族团结、国家宗教政策和社会稳定,含侮辱、诽谤、教唆、淫秽等内容的作品

    ·承担一切因您的行为而直接或间接导致的民事或刑事法律责任

    ·您在编程中国社区新闻评论发表的作品,本网站有权在网站内保留、转载、引用或者删除

    ·参与本评论即表明您已经阅读并接受上述条款

  • 感谢本文作者
  • 作者头像
  • 昵称:骑驴找马
  • 加入时间:2013/6/13 0:00:00
  • TA的签名
  • 这家伙很懒,虾米都没写
  • +进入TA的空间
  • 以下内容也很赞哦
分享按钮