Rumah  >  Artikel  >  php教程  >  Zend Framework入门教程之Zend_Config组件用法详解

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

高洛峰
高洛峰asal
2017-01-05 10:33:291246semak imbas

本文实例讲述了Zend Framework中Zend_Config组件用法。分享给大家供大家参考,具体如下:

1.从PHP数组中读取数据

使用Zend_Config_Ini(读取ini配置文件)
Zend_Config_Xml(读取XML配置文件)

案例:

<?php
require_once("Zend/Loader.php");
Zend_Loader::loadClass(&#39;Zend_Config&#39;);
$array = array(
  &#39;webhost&#39; => &#39;127.0.0.1&#39;,
  &#39;database&#39;=>array(
    &#39;db_host&#39;=>&#39;localhost&#39;,
    &#39;db_user&#39;=>&#39;root&#39;,
    &#39;db_pass&#39;=>&#39;123&#39;,
    &#39;db_name&#39;=>&#39;test&#39;
    )
  );
$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(
  &#39;webhost&#39; => &#39;127.0.0.1&#39;,
  &#39;database&#39; => array(
    &#39;db_host&#39; => &#39;localhost&#39;,
    &#39;db_user&#39; => &#39;root&#39;,
    &#39;db_pass&#39; => &#39;123&#39;,
    &#39;db_name&#39; => &#39;test&#39;
    )
);

   

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

<?php
require_once("Zend/Loader.php");
Zend_Loader::loadClass(&#39;Zend_Config&#39;);
$filename = &#39;config.php&#39;;            //定义配置文件名
$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(&#39;Zend_Config_Ini&#39;);
$filename = &#39;config.ini&#39;;            //定义配置文件名
$config = new Zend_Config_Ini($filename,&#39;database&#39;);  //为类实例化对象
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(&#39;Zend_Config_Ini&#39;);
$filename = &#39;config.ini&#39;;            //定义配置文件名
$config = new Zend_Config_Ini($filename,&#39;database&#39;);  //为类实例化对象
$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 = &#39;1.0&#39;?>
<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(&#39;Zend_Config_Xml&#39;);
$filename = &#39;config.xml&#39;;            //定义配置文件名
$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

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

更多Zend Framework入门教程之Zend_Config组件用法详解相关文章请关注PHP中文网!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn