本文實例講述了Zend Framework中Zend_Config組件用法。分享給大家供大家參考,具體如下:
1.從PHP數組中讀取數據
使用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服務器地址為:";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)首先是配置文件,代碼如下。
<?phpreturn array( 'webhost' => '127.0.0.1', 'database' => array( 'db_host' => 'localhost', 'db_user' => 'root', 'db_pass' => '123', 'db_name' => 'test' ));
(2)創建讀取配置的PHP文件,代碼如下。
<?phprequire_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 = localhostdatabase.type = mysqldatabase.host = localhostdatabase.user = rootdatabase.pass = 123database.name = test_ini
保存為config.ini
(2)建立讀取配置文件內容的PHP文件,代碼如下。
<?phprequire_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()方法來實現轉化
案例:
<?phprequire_once("Zend/Loader.php");Zend_Loader::loadClass('Zend_Config_Ini');$filename = 'config.ini'; //定義配置文件名$config = new Zend_Config_Ini($filename,'database'); //為類實例化對象$temp = $config->database->toArray(); //使得其中一個屬性的數據轉為數組,并將數據賦給變量$tempecho "數據庫類型為:";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文件,代碼如下。
<?phprequire_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 Framework框架的PHP程序設計有所幫助。
新聞熱點
疑難解答
圖片精選