程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> PHP綜合 >> Zend Framework入門教程之Zend_Config組件用法詳解

Zend Framework入門教程之Zend_Config組件用法詳解

編輯:PHP綜合

本文實例講述了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

更多關於zend相關內容感興趣的讀者可查看本站專題:《Zend FrameWork框架入門教程》、《php優秀開發框架總結》、《Yii框架入門及常用技巧總結》、《ThinkPHP入門教程》、《php面向對象程序設計入門教程》、《php+mysql數據庫操作入門教程》及《php常見數據庫操作技巧匯總》

希望本文所述對大家基於Zend Framework框架的PHP程序設計有所幫助。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved