一、建立類和對象
使用者定義的類,也是學好PHP所必備的條件之一。PHP中的類和其他的物件導向語言中的類比較起來,相對比較簡單。PHP只有類(class)、方法(method)、屬性以及單一繼承(extensions)等。在PHP中,要建立一個類很簡單,只需要關鍵字class即可,一個最簡單的類的定義如下:
class class_name{//用關鍵字var定義類的屬性,屬性的類型支援PHP的所有資料類型,也可以是一個對象var $var_1;var $var_2;…var $var_n;//用關鍵字function定義類的方法function method_1(…){…}function method_2(…){…}…function method_n(…){…}}
其中,class是聲明類必須使用的關鍵字;class_name表示類名,類名的選擇應該有一定的意義,這樣方便記憶和理解;{}用來標識類的開始和結束。
注意:若在類的內部的實現中使用類自身的屬性或方法,需要在“->”屬性或方法前加上“$this”,表明使用的是自身成員,而此時屬性前不再使用“$”標記。
在PHP中用關鍵字new來建立一個類的對象,其文法如下:
$object_name=new class_name
其中,object_name即為所要建立的對象的名字,關鍵字new用來建立一個對象,class_name為類名。
二、用類封裝代碼使其調用更加的方便、代碼整合度更高、擴充性更好、可維護性更強。本範例主要應用到了類,包括類聲明、類體和調用類。編寫一個圖書資訊的類,利用PHP調用該類。在編寫類時應將類編寫在PHP頁面裡,這樣類的定義和方法都位於一個PHP頁面中,當類修改以後,也不需要重新編譯,只需要重新運行PHP頁面代碼即可。
(1)在class_book.php檔案中編寫一個圖書類。
使用class表示它是一個類類別。在類別中的function中的book表示該類的一個方法。方法可以封裝類的實際處理情形,讓該類能依照封裝好的方法來獨立執行一些步驟。
<?phpclass book{ //聲明類var $book_ID; //圖書編號var $book_name; //圖書名稱var $book_author; //作者var $book_TPI; //出版社var $book_price; //定價function book($ID,$Name,$Author,$TPI,$Price){$this->book_ID=$ID;$this->book_name=$Name;$this->book_author=$Author;$this->book_TPI=$TPI;$this->book_price=$Price;}}?>
程式中的$this類變數在PHP中屬於特殊的變數,$this變數只用在類類別中,表示類的本身。
(2)調用類方法。將上面的已定義好的類存成php檔案,再使用require(或include)包含進來。在定義變數$obj時,要使用new的保留字,使用“->”符號,表示執行類的方法。
<?php include "class_book.php" ?><?php$obj=new book("7-115-14688-8", "php 資料庫開發執行個體教程", "周五", "長江出版社", 49);echo "圖書編號:$obj->book_ID<br>";echo "圖書名稱:$obj->book_name<br>";echo "作 者:$obj->book_author<br>";echo "出 版 社:$obj->book_TPI<br>";echo "定 價:$obj->book_price<br>";?>