溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Zend_Config組件怎么在Zend Framework中使用

發(fā)布時間:2021-04-01 17:07:14 來源:億速云 閱讀:122 作者:Leah 欄目:開發(fā)技術(shù)

這期內(nèi)容當中小編將會給大家?guī)碛嘘P(guān)Zend_Config組件怎么在Zend Framework中使用,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

1.從PHP數(shù)組中讀取數(shù)據(jù)

使用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服務(wù)器地址為:";
echo $config->webhost;
echo "<p>";
echo "數(shù)據(jù)庫服務(wù)器名稱為:";
echo $config->database->db_host;
echo "<p>";
echo "數(shù)據(jù)庫用戶名為:";
echo $config->database->db_user;
echo "<p>";
echo "數(shù)據(jù)庫密碼為:";
echo $config->database->db_pass;
echo "<p>";
echo "數(shù)據(jù)庫名稱為:";
echo $config->database->db_name;
echo "<p>";

結(jié)果:

Web服務(wù)器地址為:127.0.0.1
數(shù)據(jù)庫服務(wù)器名稱為:localhost
數(shù)據(jù)庫用戶名為:root
數(shù)據(jù)庫密碼為:123
數(shù)據(jù)庫名稱為:test

說明:

初始化Zend_Config類時,將數(shù)組中的數(shù)據(jù)直接變成$config對象的屬性值了。

2.從PHP配置文件讀取數(shù)據(jù)

案例:

(1)首先是配置文件,代碼如下。

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

(2)創(chuàng)建讀取配置的PHP文件,代碼如下。

<?php
require_once("Zend/Loader.php");
Zend_Loader::loadClass('Zend_Config');
$filename = 'config.php';            //定義配置文件名
$config = new Zend_Config(require $filename);  //為類實例化對象
echo "Web服務(wù)器地址為:";
echo $config->webhost;
echo "<p>";
echo "數(shù)據(jù)庫服務(wù)器名稱為:";
echo $config->database->db_host;
echo "<p>";
echo "數(shù)據(jù)庫用戶名為:";
echo $config->database->db_user;
echo "<p>";
echo "數(shù)據(jù)庫密碼為:";
echo $config->database->db_pass;
echo "<p>";
echo "數(shù)據(jù)庫名稱為:";
echo $config->database->db_name;
echo "<p>";

說明:結(jié)果同之前的一樣,只是這次讀取數(shù)據(jù)是從php文件中獲取的。一般需要的配置信息,無非是數(shù)據(jù)庫名,用戶名,密碼等。

3.從ini文件中讀取數(shù)據(jù)

Zend_Config組件的子類Zend_Config_Ini允許從ini配置文件中讀取數(shù)據(jù)。

案例:

(1)建立一個用于被讀取內(nèi)容的ini配置文件,代碼如下。

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

保存為config.ini

(2)建立讀取配置文件內(nèi)容的PHP文件,代碼如下。

<?php
require_once("Zend/Loader.php");
Zend_Loader::loadClass('Zend_Config_Ini');
$filename = 'config.ini';            //定義配置文件名
$config = new Zend_Config_Ini($filename,'database');  //為類實例化對象
echo "數(shù)據(jù)庫服務(wù)器名稱為:";
echo $config->hostname;
echo "<p>";
echo "數(shù)據(jù)庫類型為:";
echo $config->database->type;
echo "<p>";
echo "數(shù)據(jù)庫用戶名為:";
echo $config->database->user;
echo "<p>";
echo "數(shù)據(jù)庫密碼為:";
echo $config->database->pass;
echo "<p>";
echo "數(shù)據(jù)庫名稱為:";
echo $config->database->name;
echo "<p>";

說明:實例化對象之后,指定相應(yīng)的參數(shù),就可以使用配置文件中的信息了。

結(jié)果為:

數(shù)據(jù)庫服務(wù)器名稱為:localhost
數(shù)據(jù)庫類型為:mysql
數(shù)據(jù)庫用戶名為:root
數(shù)據(jù)庫密碼為:123
數(shù)據(jù)庫名稱為:test_ini

4.以數(shù)組的形式調(diào)用ini中讀出的數(shù)據(jù)

用toArray()方法來實現(xiàn)轉(zhuǎn)化

案例:

<?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();      //使得其中一個屬性的數(shù)據(jù)轉(zhuǎn)為數(shù)組,并將數(shù)據(jù)賦給變量$temp
echo "數(shù)據(jù)庫類型為:";
echo $temp[type];
echo "<p>";
echo "數(shù)據(jù)庫用戶名為:";
echo $temp[user];
echo "<p>";
echo "數(shù)據(jù)庫密碼為:";
echo $temp[pass];
echo "<p>";
echo "數(shù)據(jù)庫名稱為:";
echo $temp[name];
echo "<p>";

結(jié)果:

數(shù)據(jù)庫類型為:mysql
數(shù)據(jù)庫用戶名為:root
數(shù)據(jù)庫密碼為:123
數(shù)據(jù)庫名稱為:test_ini

5.從XML配置文件中讀取數(shù)據(jù)

通過子類Zend_Config_Xml來實現(xiàn)
root element 頂級元素
section-level elements節(jié)元素
leaf elements 葉元素

案例:

(1)創(chuàng)建一個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文件數(shù)據(jù)的PHP文件,代碼如下。

<?php
require_once("Zend/Loader.php");
Zend_Loader::loadClass('Zend_Config_Xml');
$filename = 'config.xml';            //定義配置文件名
$section = "stag";                //定義需要加載的節(jié)名
$config = new Zend_Config_Xml($filename,$section);  //為類實例化對象
echo "服務(wù)器地址為:";
echo $config->webhost;
echo "<p>";
echo "數(shù)據(jù)庫類型為:";
echo $config->database->type;
echo "<p>";
echo "數(shù)據(jù)庫用戶名為:";
echo $config->database->username;
echo "<p>";
echo "數(shù)據(jù)庫密碼為:";
echo $config->database->password;
echo "<p>";

結(jié)果:

服務(wù)器地址為:127.0.0.1
數(shù)據(jù)庫類型為:pdo_mysql
數(shù)據(jù)庫用戶名為:db_user
數(shù)據(jù)庫密碼為:db_pass

上述就是小編為大家分享的Zend_Config組件怎么在Zend Framework中使用了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關(guān)知識,歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI