zoukankan      html  css  js  c++  java
  • 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' => '127.0.0.1',
        'database'=>array(
            'db_host'=>'localhost',
            'db_user'=>'root',
            'db_pass'=>'123',
            'db_name'=>'test'
            )
        );
    $config = new Zend_Config($array);
    echo "Web服务器地址为:";
    echo $config->webhost;
    echo "<p>";
    
    echo "数据库服务器名称为:";
    echo $config->database->db_host;
    echo "<p>";
    
    echo "数据库用户名为:";
    echo $config->database->db_user;
    echo "<p>";
    
    echo "数据库密码为:";
    echo $config->database->db_pass;
    echo "<p>";
    
    echo "数据库名称为:";
    echo $config->database->db_name;
    echo "<p>";


    结果:
    Web服务器地址为:127.0.0.1

    数据库服务器名称为:localhost

    数据库用户名为:root

    数据库密码为:123

    数据库名称为:test

    说明:

    初始化Zend_Config类时,将数组中的数据直接变成$config对象的属性值了。

    2.从PHP配置文件读取数据
    案例:
    (1)首先是配置文件,代码如下。

    <?php
    return array(
        'webhost' => '127.0.0.1',
        'database' => array(
            'db_host' => 'localhost',
            'db_user' => 'root',
            'db_pass' => '123',
            'db_name' => 'test'
            )
        );


    (2)创建读取配置的PHP文件,代码如下。

    <?php
    require_once("Zend/Loader.php");
    Zend_Loader::loadClass('Zend_Config');
    $filename = 'config.php';                        //定义配置文件名
    $config = new Zend_Config(require $filename);    //为类实例化对象
    echo "Web服务器地址为:";
    echo $config->webhost;
    echo "<p>";
    
    echo "数据库服务器名称为:";
    echo $config->database->db_host;
    echo "<p>";
    
    echo "数据库用户名为:";
    echo $config->database->db_user;
    echo "<p>";
    
    echo "数据库密码为:";
    echo $config->database->db_pass;
    echo "<p>";
    
    echo "数据库名称为:";
    echo $config->database->db_name;
    echo "<p>";


    说明:结果同之前的一样,只是这次读取数据是从php文件中获取的。一般需要的配置信息,无非是数据库名,用户名,密码等。

    3.从ini文件中读取数据
    Zend_Config组件的子类Zend_Config_Ini允许从ini配置文件中读取数据。
    案例:
    (1)建立一个用于被读取内容的ini配置文件,代码如下。

    [database]
    hostname = localhost
    database.type = mysql
    database.host = localhost
    database.user = root
    database.pass = 123
    database.name = test_ini


    保存为config.ini

    (2)建立读取配置文件内容的PHP文件,代码如下。

    <?php
    require_once("Zend/Loader.php");
    Zend_Loader::loadClass('Zend_Config_Ini');
    $filename = 'config.ini';                        //定义配置文件名
    $config = new Zend_Config_Ini($filename,'database');    //为类实例化对象
    echo "数据库服务器名称为:";
    echo $config->hostname;
    echo "<p>";
    
    echo "数据库类型为:";
    echo $config->database->type;
    echo "<p>";
    
    echo "数据库用户名为:";
    echo $config->database->user;
    echo "<p>";
    
    echo "数据库密码为:";
    echo $config->database->pass;
    echo "<p>";
    
    echo "数据库名称为:";
    echo $config->database->name;
    echo "<p>";


    说明:实例化对象之后,指定相应的参数,就可以使用配置文件中的信息了。

    结果为:
    数据库服务器名称为:localhost

    数据库类型为:mysql

    数据库用户名为:root

    数据库密码为:123

    数据库名称为:test_ini

    4.以数组的形式调用ini中读出的数据
    用toArray()方法来实现转化
    案例:

    <?php
    require_once("Zend/Loader.php");
    Zend_Loader::loadClass('Zend_Config_Ini');
    $filename = 'config.ini';                        //定义配置文件名
    $config = new Zend_Config_Ini($filename,'database');    //为类实例化对象
    $temp = $config->database->toArray();            //使得其中一个属性的数据转为数组,并将数据赋给变量$temp
    
    echo "数据库类型为:";
    echo $temp[type];
    echo "<p>";
    
    echo "数据库用户名为:";
    echo $temp[user];
    echo "<p>";
    
    echo "数据库密码为:";
    echo $temp[pass];
    echo "<p>";
    
    echo "数据库名称为:";
    echo $temp[name];
    echo "<p>";


    结果:
    数据库类型为:mysql

    数据库用户名为:root

    数据库密码为:123

    数据库名称为:test_ini


    5.从XML配置文件中读取数据
    通过子类Zend_Config_Xml来实现
    root element 顶级元素
    section-level elements节元素
    leaf elements 叶元素

    案例:
    (1)创建一个XML文件

    <?xml version = '1.0'?>
    <config>
        <production>
            <webhost>127.0.0.1</webhost>
            <database>
                <type>pdo_mysql</type>
                <host>localhost</host>
                <username>db_user</username>
                <password>db_pass</password>
                <name>test</name>
            </database>
        </production>
        <stag extends="production">
            <database>
                <host>localhost</host>
                <username>db_user</username>
                <password>db_pass</password>
            </database>
        </stag>
    </config>

    命名为config.xml

    (2)建立读取XML文件数据的PHP文件,代码如下。

    <?php
    require_once("Zend/Loader.php");
    Zend_Loader::loadClass('Zend_Config_Xml');
    $filename = 'config.xml';                        //定义配置文件名
    $section = "stag";                                //定义需要加载的节名
    $config = new Zend_Config_Xml($filename,$section);    //为类实例化对象
    
    echo "服务器地址为:";
    echo $config->webhost;
    echo "<p>";
    
    echo "数据库类型为:";
    echo $config->database->type;
    echo "<p>";
    
    echo "数据库用户名为:";
    echo $config->database->username;
    echo "<p>";
    
    echo "数据库密码为:";
    echo $config->database->password;
    echo "<p>";

    结果:
    服务器地址为:127.0.0.1

    数据库类型为:pdo_mysql

    数据库用户名为:db_user

    数据库密码为:db_pass

  • 相关阅读:
    IE7局部滚动区域下绝对定位或相对定位元素不随滚动条滚动的bug
    Webstorm编译TypeScript报错
    Javascript动态创建 style 节点
    css多栏自适应布局
    禁用右键
    Mac下启动和停止Mysql服务
    codemirror
    JavaScript 中的事件流和事件处理程序(读书笔记思维导图)
    mac压缩文件乱码
    Mybatis框架五:动态SQL
  • 原文地址:https://www.cnblogs.com/jiqing9006/p/2985151.html
Copyright © 2011-2022 走看看