本文實(shí)例講述了Zend Framework中Zend_Config組件用法。分享給大家供大家參考,具體如下:
1.從PHP數(shù)組中讀取數(shù)據(jù)
使用Zend_Config_Ini(讀取ini配置文件)
Zend_Config_Xml(讀取XML配置文件)
案例:
?phprequire_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ù)庫(kù)服務(wù)器名稱為: echo $config- database- db_host;echo p echo 數(shù)據(jù)庫(kù)用戶名為: echo $config- database- db_user;echo p echo 數(shù)據(jù)庫(kù)密碼為: echo $config- database- db_pass;echo p echo 數(shù)據(jù)庫(kù)名稱為: echo $config- database- db_name;echo p
結(jié)果:
Web服務(wù)器地址為:127.0.0.1
數(shù)據(jù)庫(kù)服務(wù)器名稱為:localhost
數(shù)據(jù)庫(kù)用戶名為:root
數(shù)據(jù)庫(kù)密碼為:123
數(shù)據(jù)庫(kù)名稱為:test
說(shuō)明:
初始化Zend_Config類(lèi)時(shí),將數(shù)組中的數(shù)據(jù)直接變成$config對(duì)象的屬性值了。
2.從PHP配置文件讀取數(shù)據(jù)
案例:
(1)首先是配置文件,代碼如下。
?phpreturn array( webhost = 127.0.0.1 , database = array( db_host = localhost , db_user = root , db_pass = 123 , db_name = test );
(2)創(chuàng)建讀取配置的PHP文件,代碼如下。
?phprequire_once( Zend/Loader.php Zend_Loader::loadClass( Zend_Config $filename = config.php //定義配置文件名$config = new Zend_Config(require $filename); //為類(lèi)實(shí)例化對(duì)象echo Web服務(wù)器地址為: echo $config- webhost;echo p echo 數(shù)據(jù)庫(kù)服務(wù)器名稱為: echo $config- database- db_host;echo p echo 數(shù)據(jù)庫(kù)用戶名為: echo $config- database- db_user;echo p echo 數(shù)據(jù)庫(kù)密碼為: echo $config- database- db_pass;echo p echo 數(shù)據(jù)庫(kù)名稱為: echo $config- database- db_name;echo p
說(shuō)明:結(jié)果同之前的一樣,只是這次讀取數(shù)據(jù)是從php文件中獲取的。一般需要的配置信息,無(wú)非是數(shù)據(jù)庫(kù)名,用戶名,密碼等。
3.從ini文件中讀取數(shù)據(jù)
Zend_Config組件的子類(lèi)Zend_Config_Ini允許從ini配置文件中讀取數(shù)據(jù)。
案例:
(1)建立一個(gè)用于被讀取內(nèi)容的ini配置文件,代碼如下。
[database]hostname = localhostdatabase.type = mysqldatabase.host = localhostdatabase.user = rootdatabase.pass = 123database.name = test_ini
保存為config.ini
(2)建立讀取配置文件內(nèi)容的PHP文件,代碼如下。
?phprequire_once( Zend/Loader.php Zend_Loader::loadClass( Zend_Config_Ini $filename = config.ini //定義配置文件名$config = new Zend_Config_Ini($filename, database //為類(lèi)實(shí)例化對(duì)象echo 數(shù)據(jù)庫(kù)服務(wù)器名稱為: echo $config- hostname;echo p echo 數(shù)據(jù)庫(kù)類(lèi)型為: echo $config- database- type;echo p echo 數(shù)據(jù)庫(kù)用戶名為: echo $config- database- user;echo p echo 數(shù)據(jù)庫(kù)密碼為: echo $config- database- pass;echo p echo 數(shù)據(jù)庫(kù)名稱為: echo $config- database- name;echo p
說(shuō)明:實(shí)例化對(duì)象之后,指定相應(yīng)的參數(shù),就可以使用配置文件中的信息了。
結(jié)果為:
數(shù)據(jù)庫(kù)服務(wù)器名稱為:localhost
數(shù)據(jù)庫(kù)類(lèi)型為:mysql
數(shù)據(jù)庫(kù)用戶名為:root
數(shù)據(jù)庫(kù)密碼為:123
數(shù)據(jù)庫(kù)名稱為:test_ini
4.以數(shù)組的形式調(diào)用ini中讀出的數(shù)據(jù)
用toArray()方法來(lái)實(shí)現(xiàn)轉(zhuǎn)化
案例:
?phprequire_once( Zend/Loader.php Zend_Loader::loadClass( Zend_Config_Ini $filename = config.ini //定義配置文件名$config = new Zend_Config_Ini($filename, database //為類(lèi)實(shí)例化對(duì)象$temp = $config- database- toArray(); //使得其中一個(gè)屬性的數(shù)據(jù)轉(zhuǎn)為數(shù)組,并將數(shù)據(jù)賦給變量$tempecho 數(shù)據(jù)庫(kù)類(lèi)型為: echo $temp[type];echo p echo 數(shù)據(jù)庫(kù)用戶名為: echo $temp[user];echo p echo 數(shù)據(jù)庫(kù)密碼為: echo $temp[pass];echo p echo 數(shù)據(jù)庫(kù)名稱為: echo $temp[name];echo p
結(jié)果:
數(shù)據(jù)庫(kù)類(lèi)型為:mysql
數(shù)據(jù)庫(kù)用戶名為:root
數(shù)據(jù)庫(kù)密碼為:123
數(shù)據(jù)庫(kù)名稱為:test_ini
5.從XML配置文件中讀取數(shù)據(jù)
通過(guò)子類(lèi)Zend_Config_Xml來(lái)實(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文件,代碼如下。
?phprequire_once( Zend/Loader.php Zend_Loader::loadClass( Zend_Config_Xml $filename = config.xml //定義配置文件名$section = stag //定義需要加載的節(jié)名$config = new Zend_Config_Xml($filename,$section); //為類(lèi)實(shí)例化對(duì)象echo 服務(wù)器地址為: echo $config- webhost;echo p echo 數(shù)據(jù)庫(kù)類(lèi)型為: echo $config- database- type;echo p echo 數(shù)據(jù)庫(kù)用戶名為: echo $config- database- username;echo p echo 數(shù)據(jù)庫(kù)密碼為: echo $config- database- password;echo p
結(jié)果:
服務(wù)器地址為:127.0.0.1
數(shù)據(jù)庫(kù)類(lèi)型為:pdo_mysql
數(shù)據(jù)庫(kù)用戶名為:db_user
數(shù)據(jù)庫(kù)密碼為:db_pass
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,更多相關(guān)內(nèi)容請(qǐng)關(guān)注PHP !
相關(guān)推薦:
關(guān)于Zend Framework動(dòng)作助手Url的用法
關(guān)于Zend Framework中Zend_Db_Table_Rowset的用法
以上就是關(guān)于Zend Framework中Zend_Config組件的用法的詳細(xì)內(nèi)容,PHP教程
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。
新聞熱點(diǎn)
疑難解答
圖片精選