用類別加快PHP的資料庫開發
資料庫的存取函數較多,使用不當會降低效率,甚至導致錯誤。而PHP的本身就是開放的、可擴充的,很多人為它開發各種功能的原始碼。每一個PHP程式設計師都應該善於繼承他人的成果,節省時間和精力。站在巨人的肩膀上,才能看得更遠。當然,你也可以把你的程式碼分享出來,體會自己的勞動被承認和創造價值而帶來的成就感。
使用資料庫類,可以使我們完全不必考慮特定的資料庫類型,而專注於程式的開發上。
眾多的開發工具包中,PHPLib是效能較穩定、功能較完善的一個。 PHPLib可以在http://phplib.netuse.de/ 取得。它包含了資料庫的支援類別。以MySQL資料庫為例,PHPLib自帶名為DB_Sql的類別。它包裝了資料庫的連接、查詢、取結果、資料庫表的遍歷等功能。
使用資料庫類,可以使我們完全不必考慮特定的資料庫類型,而專注於程式的開發上。即使資料庫系統類型換了,程式碼也不用改。同時,資料庫類別提供了完整而健壯的資料庫存取方法,這可能是使用類別的包裝的最大的優勢了。
下面,我們就使用PHPLib提供的資料庫類,來存取我們剛才建立的資料庫,並對內容進行顯示。
〈?
require "db_mysql.php";
//包含資料庫類別的產生檔案
//包含資料庫類別的產生檔案 //宣告資料庫類別的實例
$db-〉connect("ResumeDB","localhost", "root", "");
//連接資料庫伺服器
//提供的參數依序為:資料庫名,主機名,使用者名,使用者密碼
if ($db-〉Link_ID)
//判斷是否正確建立連接
{
$db-〉query("select ID,Name,Intro FROM Resume");
///
//判斷結果集是否為空
{
while ($db-〉next_record())
while ($db-〉next_record())
{
echo "ID:", $db-〉f("ID"); //f()函數傳回目前記錄某個子段的值
echo "〈br〉";
echo "姓名:";
$db->p("Name");
//p()函數直接列印某個子段的值
//等價於echo $db-〉f("name")
echo " br〉";
echo "簡介:";
echo $db-〉f("Intro");
echo "〈br〉";
echo "〈br〉";
echo "〈a href= "download.php?ID=".$db-〉f("ID").""〉查看Word文件〈/a〉";
echo "〈 br〉〈hr〉";
}
}
$db-〉free ( > }
?〉
從上面的流程可以看出,用類別存取資料庫的方法和直接存取資料庫的方法基本上相同。不同的是,這裡我們呼叫的方法都是類別的方法,而不是具體地針對某種資料庫的函數。由於程式碼和具體資料庫類型的分離,使得當資料庫系統改變的時候,我們不用改變程式碼,只要改變基底類別的實作方法即可。
如果結合使用PHPLib範本進行設計的話,即可實現程式與顯示的分離。也將使得程式結構清晰,網頁美工設計製作方便。
簡單的用法、合理的任務分配、合乎思維的物件包裝,將使得網站開發效率大大提高。
附:程式碼測試平台
以上程式碼全部在下面的平台測試通過
RedHat Linux 6.1 Apache1.3.12
RedHat Linux 6.1 Apache1.3.12
RedHat Linux 6.1 Apache1.3.12
資料庫的安裝配置過程為:
cd /usr/local/src/mysql*
./configure --refix=/usr/local> 🎜> make
make install
Apache的安裝配置過程為:
-prefix=/usr/local/apache --enable-shared=max
make
make install
cd /usr/local/src/php*
./configure --with-apxs=/usr/local/apache/bin/apxs
--with-config-path =/usr/local/
apache/conf
--with-mysql=/usr/local/mysql
--enable-track-vars
php.ini配置過程為:
拷貝php.ini-dist到/usr/local/
編輯httpd.conf,把下面兩行的註解去掉
AddType application/x-httpd-php .php .php3
>
http://www.bkjia.com/PHPjc/316142.html
www.bkjia.com
true
http: //www.bkjia.com/PHPjc/316142.html
TechArticle