首頁  >  文章  >  後端開發  >  關於Zend Framework中Zend_Config元件的用法

關於Zend Framework中Zend_Config元件的用法

不言
不言原創
2018-06-15 17:13:471178瀏覽

這篇文章主要介紹了Zend Framework入門教程之Zend_Config元件用法,結合實例形式分析了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(&#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

以上就是本文的全部內容,希望對大家的學習有所幫助,更多相關內容請關注PHP中文網!

相關推薦:

關於Zend Framework動作助理Url的用法

關於Zend Framework中Zend_Db_Table_Rowset的用法

#

以上是關於Zend Framework中Zend_Config元件的用法的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn