• Zend Framework中的配置文件(config)简介
  • 远方的旅行 发表于 2014/12/10 21:42:00 | 分类标签: Zend config 配置文件
  • 简介

    Zend_Config被设计在应用程序中简化访问和使用配置数据。它为在应用程序代码中访问这样的配置数据提供了一个基于用户接口的嵌入式对象属性。配置数据可能来自于各种支持等级结构数据存储的媒体。当前Zend_Config为存储在Zend_Config_Ini 和Zend_Config_Xml的文本文件中的配置数据提供了适配器。

    使用 Zend_Config 本身

    通常用户可以使用象Zend_Config_Ini 或 Zend_Config_Xml适配器类的其中之一,但如果配置数据在PHP数组里可用,为了使用一个简单的面向对象的接口,可以简单地传递数据到Zend_Config构造器:

    1. // 给出一个配置数据的数组  
    2. $configArray = array(  
    3.     'webhost'  => 'www.example.com',  
    4.     'database' => array(  
    5.         'adapter' => 'pdo_mysql',  
    6.         'params'  => array(  
    7.             'host'     => 'db.example.com',  
    8.             'username' => 'dbuser',  
    9.             'password' => 'secret',  
    10.             'dbname'   => 'mydatabase'  
    11.         )  
    12.     )  
    13. );  
    14. // 基于配置数据创建面向对象的 wrapper   
    15. $config = new Zend_Config($configArray);  
    16. // 输出配置数据 (结果在'www.example.com'中)  
    17. echo $config->webhost;  
    18. // 使用配置数据来连接数据库  
    19. $db = Zend_Db::factory($config->database->adapter,  
    20.                        $config->database->params->toArray());  
    21. // 另外的用法:简单地传递 Zend_Config 对象。  
    22. // Zend_Db factory 知道如何翻译它。  
    23. $db = Zend_Db::factory($config->database);  
           

    如上例所示,Zend_Config 提供嵌套的对象属性语句来访问传递给它的构造器的配置数据。

    连同面向对象访问数据值,Zend_Config也有get()方法,如果数据元素不存在,它将返回提供的缺省值,例如:

    $host = $config->database->get('host', 'localhost');
    例2. Using Zend_Config with a PHP Configuration File

    1. It is often desirable to use a pure PHP-based configuration file. The following code illustrates how easily this can be accomplished:  
    2. // config.php  
    3. return array(  
    4.     'webhost'  => 'www.example.com',  
    5.     'database' => array(  
    6.         'adapter' => 'pdo_mysql',  
    7.         'params'  => array(  
    8.             'host'     => 'db.example.com',  
    9.             'username' => 'dbuser',  
    10.             'password' => 'secret',  
    11.             'dbname'   => 'mydatabase'  
    12.         )  
    13.     )  
    14. );  
    15.           
    16. // Configuration consumption  
    17. $config = new Zend_Config(require 'config.php');  
    18. // Print a configuration datum (results in 'www.example.com')  
    19. echo $config->webhost; 
  • 请您注意

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

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

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

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

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

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

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