Zend Framework入門教程之Zend_Config組件用法詳解
本文實(shí)例講述了Zend Framework中Zend_Config組件用法。分享給大家供大家參考,具體如下:
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ù)組中的數(shù)據(jù)直接變成$config對(duì)象的屬性值了。
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); //為類實(shí)例化對(duì)象 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)建立一個(gè)用于被讀取內(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'); //為類實(shí)例化對(duì)象 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>";
說明:實(shí)例化對(duì)象之后,指定相應(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()方法來實(shí)現(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'); //為類實(shí)例化對(duì)象 $temp = $config->database->toArray(); //使得其中一個(gè)屬性的數(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來實(shí)現(xiàn)
root element 頂級(jí)元素
section-level elements節(jié)元素
leaf elements 葉元素
案例:
(1)創(chuàng)建一個(gè)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); //為類實(shí)例化對(duì)象 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
更多關(guān)于zend相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Zend FrameWork框架入門教程》、《php優(yōu)秀開發(fā)框架總結(jié)》、《Yii框架入門及常用技巧總結(jié)》、《ThinkPHP入門教程》、《php面向?qū)ο蟪绦蛟O(shè)計(jì)入門教程》、《php+mysql數(shù)據(jù)庫操作入門教程》及《php常見數(shù)據(jù)庫操作技巧匯總》
希望本文所述對(duì)大家基于Zend Framework框架的PHP程序設(shè)計(jì)有所幫助。
- 工廠模式在Zend Framework中應(yīng)用介紹
- Zend Framework開發(fā)入門經(jīng)典教程
- Zend Framework入門之環(huán)境配置及第一個(gè)Hello World示例(附demo源碼下載)
- Zend Framework入門知識(shí)點(diǎn)小結(jié)
- Zend Framework 2.0事件管理器(The EventManager)入門教程
- Zend Framework入門教程之Zend_View組件用法示例
- Zend Framework入門教程之Zend_Registry組件用法詳解
- Zend Framework入門教程之Zend_Session會(huì)話操作詳解
- Zend Framework入門教程之Zend_Mail用法示例
- Zend Framework入門教程之Zend_Db數(shù)據(jù)庫操作詳解
- Zend Framework入門應(yīng)用實(shí)例詳解
相關(guān)文章
php使用自帶dom擴(kuò)展進(jìn)行元素匹配的原理解析
這篇文章主要介紹了php使用自帶dom擴(kuò)展進(jìn)行元素匹配的原理解析,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-05-05PHP程序員簡單的開展服務(wù)治理架構(gòu)操作詳解(一)
這篇文章主要介紹了PHP程序員簡單的開展服務(wù)治理架構(gòu)操作,結(jié)合實(shí)例形式詳細(xì)分析了PHP開展服務(wù)治理架構(gòu)操作相關(guān)原理、RPC通信實(shí)現(xiàn)技巧與注意事項(xiàng),需要的朋友可以參考下2020-05-05php中單個(gè)數(shù)據(jù)庫字段多列顯示(單字段分頁、橫向輸出)
這篇文章主要介紹了php中單個(gè)數(shù)據(jù)庫字段多列顯示、分行分列顯示技巧,也可稱為單字段分頁、橫向輸出,需要的朋友可以參考下2014-07-07淺談PHP中如何實(shí)現(xiàn)Hook機(jī)制
本篇文章主要介紹了淺談PHP中如何實(shí)現(xiàn)Hook機(jī)制,詳細(xì)的介紹了Hook機(jī)制的原理和實(shí)現(xiàn)過程,具有一定的參考價(jià)值,有興趣的可以了解一下2017-11-11yii2高級(jí)應(yīng)用之自定義組件實(shí)現(xiàn)全局使用圖片上傳功能的方法
這篇文章主要介紹了yii2高級(jí)應(yīng)用之自定義組件實(shí)現(xiàn)全局使用圖片上傳功能的方法,結(jié)合實(shí)例形式分析了Yii2自定義組件實(shí)現(xiàn)圖片上傳的相關(guān)步驟與操作技巧,需要的朋友可以參考下2016-10-10SQL+HTML+PHP?一個(gè)簡單論壇網(wǎng)站的綜合開發(fā)案例(注冊(cè)、登錄、注銷、修改信息、留言等)
這篇文章主要介紹了SQL+HTML+PHP?一個(gè)簡單論壇網(wǎng)站的綜合開發(fā)案例(注冊(cè)、登錄、注銷、修改信息、留言等),需要的朋友可以參考下2022-12-12yii2中dropDownList實(shí)現(xiàn)二級(jí)和三級(jí)聯(lián)動(dòng)寫法
本篇文章主要介紹了yii2中dropDownList實(shí)現(xiàn)二級(jí)和三級(jí)聯(lián)動(dòng)寫法 ,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2017-04-04PHP實(shí)現(xiàn)微信公眾平臺(tái)音樂點(diǎn)播
首先說一下思路,微信提供了接口,只要數(shù)據(jù)格式滿足它所給的接口的XML格式即可以發(fā)送給關(guān)注者對(duì)應(yīng)的音樂2014-03-03