首頁  >  文章  >  後端開發  >  PHP物件導向程式設計快速入門_PHP教程

PHP物件導向程式設計快速入門_PHP教程

WBOY
WBOY原創
2016-07-21 16:07:49772瀏覽

   物件導向程式設計(OOP)是我們程式設計的基本技能,PHP4對OOP提供了良好的支援。如何運用OOP的想法來進行PHP的高階編程,對於提升PHP編程能力和規劃好Web開發架構都是非常有意義的。下面我們就透過實例來說明使用PHP的OOP進行程式設計的實際意義和應用方法。 

  我們通常在做一個有資料庫後台的網站的時候,都會考慮到程式需要適用於不同的應用環境。和其他程式語言有所不同的是,在PHP中,操作資料庫的是一系列的具體功能函數(如果你不使用ODBC介面的話)。這樣做雖然效率很高,但封裝卻不夠。如果有一個統一的資料庫接口,那麼我們就可以不對程式做任何修改而適用於多種資料庫,從而使程式的移植性和跨平台能力都大大提高。 

  在PHP中要完成OOP,需要進行物件封裝,也就是寫類別。我們可以透過產生一個新的SQL類別來實現對資料庫的簡單封裝。例如: 

class SQL 

var $Driver; //實際操作的資料庫驅動子類別 var $connection; //實際運作的資料庫驅動子類別 var $connection; 🎜>function DriverRegister($d) 

if($d!="") 

$include_path = ini_get("include_path"); "/".$d.".php"; 
//驅動的存放路徑必須在PHP.ini檔案中設定的INCLUDE_PATH下 
if( file_exists( $DriverFile)) //查找驅動程式是否存在

include($DriverFile); 
$this->Driver = new $d(); 
// 根據驅動名稱產生對應的資料庫驅動類別 
🎜>// 依據驅動名稱產生對應的資料庫驅動類別 
🎜>// 依據驅動名稱產生對應的資料庫驅動類別 
> >} 

return false; //註冊驅動失敗 

function Connect($host,$user,$passwd,$database)//連接數據庫的函數 

$this->Driver->host=$host; 
$this->Driver->user=$user; 
$this->Driver->passwd=$pas 
swd; 
$this->Driver->database=$d 
atabase; 
$this->connection = $this->Driver->Connect(); 

function/ Close()/ Close()/關閉資料庫函數 

$this->Driver->close($this->connection); 

function Query($queryStr)//資料庫查詢查詢
return $this->Driver->query($queryStr,$this->connection); 

function getRows($res)//查找行 {this
->Driver->getRows($res); 

function getRowsNum($res)//取得行號 

return $this->Driver-> getRowsNum ($resws);


? > 

  我們以操作MySQL資料庫為例。我們寫一個資料庫驅動類別MySQL,在該類別中,我們把有關MySQL資料庫操作的函數都做進一步的封裝。把包含該類,檔案名稱為MySQL.php的檔案放在PHP的系統 include_path下,就可以正常地使用了。注意編寫資料庫驅動檔案時,檔案名稱應和類別名稱保持一致。

類別MySQL

var $host; 
var $user; 
var $passwd; 
var $資料庫; 
function MySQL() // 利用建構子實作函數實作函數變數初始化
{
$host = ""; 
$user = ""; 
$passwd = ""; 
$資料庫=“”; 

函數Connect() 

$conn = MySQL_connect($this->host, $this->user,$this->passwd) 或
die( “無法連接$this->主機”) ; 
MySQL_select_db($this->database,$conn) 或
die("無法切換到資料庫$this->database;"); 
回傳$conn; 

函數函數關閉($conn) 

MySQL_close($conn); 


函數查詢($queryStr,$conn){$h
函數查詢($queryStr,$conn){$
SQL> queryStr,$conn)或
die(「無法查詢資料庫」) ; 
回傳$res; 

函數getRows($res)

$rowno = 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的想法來實現對資料庫的程式設計了。

包含(“SQL.php”); 
$sql = 新SQL; // 產生新的Sql物件
if($sql-> DriverRegister(“MySQL”)) //註冊資料庫驅動

$sql->Connect(“localhost”,”root” ,““,“測試”); 
$res=$sql->query(“從測試中選擇*”); / /回傳查詢記錄集
$rowsnum = $sql->getRowsNum($res); 
if($rowsnum > 0) 

$rows  ; 
foreach($rows as $row) //循環擷取記錄集內容 

foreach($row as $field){ 
print $field;} 
} }
$sql->Close(); 

? > 

在實際應用中,我們也可以根據實際需求對各種物件類別做進一步擴展。在PHP中,也提供了一系列複雜的OOP方法,例如繼承、重載、引用、串行充分調節各種方法並靈活運用,就能夠使你的網站更合理和構造,開發和維護也更容易。



http://www.bkjia.com/PHPjc/314972.html

www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/314972.htmlTechArticle物件導向程式設計(OOP)是我們程式設計的基本技能,PHP4對OOP提供了良好的支援。如何使用 OOP 的思想來進行 PHP 的高級編程,以提高 PHP 編程能力和...
陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn