PHP 也提供我們定義 class (類別) 的機制,class 稱為類別,為資料與函數的集合,class 裡的資料與函數稱為 data member 與 member function。我們來看底下這一個簡單的 class 範例:
<?php class Cart { var $items; //data member function add_item($article, $num) { //member function $this->items[$article] += $num; }
function del_item($article, $num) { //member function if ($this->item[$article] > $num) { $this->item[$article] -= $num; return true; } else { return false; } } } ?>
這是一個購物車類別定義的簡單範例,類別名稱為 Cart,Cart 類別擁有二個 member function,分別是 add_item 與 del_item,在 class 裡的 function 我們稱他們為 member function,分別是 add_item 與 del_item,用來增減物品的購買數量。
一個 class 我們可以把他想像成一個很大的資料類型,使用這樣的資料類型之前,必須做宣告的動作:
$cart = new Cart;
這樣表示我們產生了一個 Cart 類別的物件,叫做 $cart。在 Cart 類別裡有 2個 member function,$cart 物件如果要呼叫這些 member function,可以利用 「->」 運算子:
$cart->add_item("PHP Reference", "5"); 物件 member function 的名稱
呼叫 member function 時傳遞參數的方法和一般的 function 一樣。
在這裡如果讀者不懂 class 相關的觀念,也不用特意去解讀上面這段程式碼的涵意。讀者只要懂得如何產生物件,並了解如何使用這些物件即可。
本書許多範例都用到了物件,但是不會有需要自行設計 class 的場合。因此讀者不必去了解 Cart 類別的寫法涵意,範例另外用到的觀念都會隨時做說明。而 PHP 5 加入的新物件功能會在第 6 章再做介紹。
--jollen