【摘 要】物件導向程式設計(OOP)是我們程式設計的基本技能,PHP4對OOP提供了良 好的支援。如何運用OOP的想法來進行PHP的高階編程,對於提升PHP程式設計能力和 規劃好Web開發架構都是非常有意義的。
物件導向程式設計(OOP)是我們程式設計的基本技能,PHP4對 OOP提供了良好的支援。如何運用OOP的想法來進行PHP的高階編程,對於提升PHP 程式 能力和規劃好Web開發架構都是非常有意義的。下面我們就透過實例來說明 使用PHP的OOP進行程式設計的實際意義和應用方法。
我們通常在做一個有資料庫後台的網站的時候,都會考慮到程式需 要適用於不同的應用程式環境。和其他程式語言有所不同的是,在PHP中,操作資料 庫的是一系 列的具體功能函數(如果你不使用ODBC介面的話)。這樣做雖然效 率很高,但是封裝卻不夠。如果有一個統一的資料庫接口,那麼我們就可以不對 程式做任何修 改而適用於多種資料庫,從而使程式的移植性和跨平台能力都大 大提高。
在PHP中要完成OOP,需要進行 物件封裝,也就是編寫類別。我們可以透過產生一個新的SQL類別來實現對資料庫的簡 單封裝。例如:
PHP:
複製程式碼 程式碼如下:
var $Driver; //實際操作的資料庫驅動子類別
var $connection; //共用的資料庫連線變數
function DriverRegister($d)
{
if($ ")
{
$include_path = ini_get("include_path");
$DriverFile = $include_path."/".$d.".php";在PHP.ini檔案中設定的 INCLUDE_PATH下
if( file_exists( $DriverFile)) //尋找驅動程式是否存在
{
include($DriveFile); new $d();
// 根據驅動名稱產生對應的資料庫 驅動類別
return true;
}
}
{
$this->Driver->host=$host;
$this->Driver->host=$host; ->user=$user;
$this->Driver->passwd=$passwd;
$this->Driver->database=$database;
$this->connection =$database;
$this->connection = $-
$this->connection = $- Driver->Connect();
}
function Close()//關閉資料庫函數
{
$this->Driver->close($this->connection);
function Query($queryStr)//資料庫字串查詢函數
{
return $this->Driver->query($queryStr,$this->connection);
} function收到🎜>{
return $this->Driver-> getRowsNum ($res);
}
}
?>
}
?>
}
?>
我們以操作為據點。我們寫一個資料庫驅動類別MySQL,在該類別中,我們把有關MySQL資料庫 操作的函數都做進一步的封裝。把包含該 類,檔案名稱為MySQL.php的檔案放在 PHP的系統 include_path下,就可以正常使用了。注意編寫資料庫驅動檔案時 ,檔案名稱應和類別名稱保持一致。
PHP:
類別MySQL
{
var $host;
var $用戶;
var $pass / 利用建構子實現變數初始化
{
$host = "";
$使用者=“”;
$passwd = "";
$資料庫=”; }
函數Connect()
{
$conn = MySQL_connect($this->host, $this->user,$this->passwd) 或
die("無法連接到此->主機」);
MySQL_select_db($this->database,$conn) 或
die("無法切換到資料庫$this->database;");
回傳$conn;
}
函數Close($conn)
{
MySQL_close($conn);
}
功能($queryStr, $conn) 或
die("無法查詢資料庫");
回傳$res;
}
函數getRows($res) 0;
$rowno = MySQL_num_rows($res);
if($rowno>0)
{
for( $row=0;$row$rows[$row]=MySQL_fetch_row($)資源);
}
回傳$行;
}
}
$rowno = 0;
$rowno = mysql_num_rows($res);
回傳$rowno;
}
}
? >
同樣我們要把其他的「資料庫驅動」封裝到我們的SQL類別中,只需要建立對應的類,並以同名命名驅動文件,放到PHP的include目錄就了。
完成封裝以後,就可以在PHP中依照OOP的想法來實現對資料庫的程式設計了。
PHP:
複製程式碼
程式碼如下:
$sql ->連接(“localhost”,”root”&l t;font color=”#007700”>,””,”test”&l t;font color=” #007700”>); $res=$sql->query(“select * from test”); //回傳查詢記錄集$rowsnum = $sql- $sql- >getRowsNum($res); if($rowsnum > 0) {
$rows = $sql->getRows($res);/$sql->循環取出記錄集內容
{
foreach($row as $field){
print $field;}
}
}
$ >}
? >
在實際應用中,我們也可以依照實際需求對各種物件類別做進一步擴展。在PHP中,也提供了一系列複雜的OOP方法,例如繼承、重載、引用、串充分調節各種方法並靈活運用,就能使你的網站更加合理和成型,開發和維護也更容易。
以上就介紹了PHP物件導向程式設計快速入門,包含了面向的內容,希望對PHP教學有興趣的朋友有幫助。