我們今天為大家介紹的是關於下面我們就通過實例來說明使用PHP面向對象編程的實際意義和應用方法。
我們通常在做一個有數據庫後台的網站的時候,都會考慮到程序需要適用於不同的應用環境。和其他編程語言有所不同的是,在PHP中,操作數據庫的是一系列的具體功能函數(如果你不使用ODBC接口的話)。這樣做雖然效率很高,但是封裝卻不夠。如果有一個統一的數據庫接口,那麼我們就可以不對程序做任何修改而適用於多種數據庫,從而使程序的移植性和跨平台能力都大大提高。
PHP面向對象編程的完成,需要進行對象封裝,也就是編寫類。我們可以通過生成一個新的SQL類實現對數據庫的簡單封裝。例如:
- < ?
- class SQL
- {
- var $Driver; //實際操作的數據庫驅動子類
- var $connection; //共用的數據庫連接變量
- function DriverRegister($d)
- {
- if($d!="")
- {
- $include_path = ini_get("include_path");
- $DriverFile = $include_path."/".$d.".php";
- //驅動的存放路徑必須在PHP.ini文件中設定的INCLUDE_PATH下
- if( file_exists( $DriverFile)) //查找驅動是否存在
- {
- include($DriverFile);
- $this->Driver = new $d();
- // 根據驅動名稱生成相應的數據庫驅動類
- return true;
- }
- }
- 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()//關閉數據庫函數
- {
- $this->Driver->close($this->connection);
- }
- function Query($queryStr)//數據庫字符串查詢函數
- {
- return $this->Driver->query($queryStr,$this->connection);
- }
- function getRows($res)//查找行
- {
- return $this->Driver->getRows($res);
- }
- function getRowsNum($res)//取得行號
- {
- return $this->Driver-> getRowsNum ($res);
- }
- }
- ? >
希望以上介紹的PHP面向對象編程的相關知識對大家有所幫助。