這篇文章主要介紹了Zend Framework入門教程之Zend_Config元件用法,結合實例形式分析了Zend_Config元件針對各種類型設定檔操作的相關技巧,需要的朋友可以參考下
#本文實例講述了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
以上就是本文的全部內容,希望對大家的學習有所幫助,更多相關內容請關注PHP中文網!
相關推薦:
關於Zend Framework中Zend_Db_Table_Rowset的用法
#
以上是關於Zend Framework中Zend_Config元件的用法的詳細內容。更多資訊請關注PHP中文網其他相關文章!