PHP面向?qū)ο缶幊痰幕A(chǔ)知識(shí)講解
我們今天為大家介紹的是關(guān)于PHP面向?qū)ο缶幊痰南嚓P(guān)介紹,讓初學(xué)PHP語言的朋友對PHP有一個(gè)更加深刻的了解。面向?qū)ο缶幊蹋∣OP)是我們編程的一項(xiàng)基本技能,PHP4對OOP提供了良好的支持。如何使用OOP的思想來進(jìn)行PHP的高級(jí)編程,對于提高PHP編程能力和規(guī)劃好Web開發(fā)構(gòu)架都是非常有意義的。
#t#下面我們就通過實(shí)例來說明使用PHP面向?qū)ο缶幊痰膶?shí)際意義和應(yīng)用方法。
我們通常在做一個(gè)有數(shù)據(jù)庫后臺(tái)的網(wǎng)站的時(shí)候,都會(huì)考慮到程序需要適用于不同的應(yīng)用環(huán)境。和其他編程語言有所不同的是,在PHP中,操作數(shù)據(jù)庫的是一系列的具體功能函數(shù)(如果你不使用ODBC接口的話)。這樣做雖然效率很高,但是封裝卻不夠。如果有一個(gè)統(tǒng)一的數(shù)據(jù)庫接口,那么我們就可以不對程序做任何修改而適用于多種數(shù)據(jù)庫,從而使程序的移植性和跨平臺(tái)能力都大大提高。
PHP面向?qū)ο缶幊痰耐瓿?,需要進(jìn)行對象封裝,也就是編寫類。我們可以通過生成一個(gè)新的SQL類實(shí)現(xiàn)對數(shù)據(jù)庫的簡單封裝。例如:
- < ?
- class SQL
- {
- var $Driver; //實(shí)際操作的數(shù)據(jù)庫驅(qū)動(dòng)子類
- var $connection; //共用的數(shù)據(jù)庫連接變量
- function DriverRegister($d)
- {
- if($d!="")
- {
- $include_path = ini_get("include_path");
- $DriverFile = $include_path."/".$d.".php";
- //驅(qū)動(dòng)的存放路徑必須在PHP.ini文件中設(shè)定的INCLUDE_PATH下
- if( file_exists( $DriverFile)) //查找驅(qū)動(dòng)是否存在
- {
- include($DriverFile);
- $this->Driver = new $d();
- // 根據(jù)驅(qū)動(dòng)名稱生成相應(yīng)的數(shù)據(jù)庫驅(qū)動(dòng)類
- return true;
- }
- }
- return false; //注冊驅(qū)動(dòng)失敗
- }
- function Connect($host,$user,$passwd,$database)//連接數(shù)據(jù)庫的函數(shù)
- {
- $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()//關(guān)閉數(shù)據(jù)庫函數(shù)
- {
- $this->Driver->close($this->connection);
- }
- function Query($queryStr)//數(shù)據(jù)庫字符串查詢函數(shù)
- {
- return $this->Driver->query($queryStr,$this->connection);
- }
- function getRows($res)//查找行
- {
- return $this->Driver->getRows($res);
- }
- function getRowsNum($res)//取得行號(hào)
- {
- return $this->Driver-> getRowsNum ($res);
- }
- }
- ? >
希望以上介紹的PHP面向?qū)ο缶幊痰南嚓P(guān)知識(shí)對大家有所幫助。