在闡述類別的概念之前我們來先說說物件導向程式設計的概念:物件導向的程式設計(Object-Oriented Programming,簡記為OOP)立意於創建軟體重用程式碼,具備更好地模擬現實世界環境的能力,這使它被公認為是自上而下編程的優勝者。它透過在程式中加入擴充語句,把函數「封裝」進程式所必需的「物件」。物件導向的程式語言使得複雜的工作條理清晰、編寫容易。說它是一場革命,不是對物件本身而言,而是對它們處理工作的能力而言。物件並非與傳統程式設計和程式設計方法相容,只是部分面向對象反而會使情況更糟。除非整個開發環境都是物件導向的,否則物件產生的好處還沒有帶來的麻煩多。有人可能會說PHP不是一個真正的物件導向程式設計的語言, PHP 是一個混合型 語言,你可以使用物件導向編程,也可以使用傳統的過程化程式設計。然而,對於大型專案的開發,你可能想需要在PHP中使用純的物件導向程式設計去聲明類,而且在你的專案開發只用物件和類別。隨著專案越來越大,使用物件導向程式設計可能會有幫助,物件導向程式碼很容易維護,容易理解和重複使用,這些就是軟體工程的基礎。在基於Web的專案中應用這些概念就成為網站未來成功的關鍵。
物件(Object)是問題領域或實現領域中某些事物的一個抽象,它反映此事物在系統中需要保存的資訊和發揮的作用;它是一組屬性和有權對這些屬性進行操作的一組服務的封裝體。 關於對像要從兩方面理解:一方面指系統所要處理的現實世界中的對象;另一方面對像是計算機不直接處理的對象,而是處理相應的計算機表示,這種計算機表示也稱為對象。簡單的來說,一個人就是一個對象,一個尺子也可以說是個對象。當這些物件可以用資料直接表示時,我們就稱他為屬性,尺子的度量單位可以是厘米,公尺或英尺,這個度量單位就是尺的屬性。
在PHP裡我們可以定義一個類,類別(Class)就是指變數與一些使用這些變數的函數的集合。 PHP是一種鬆散類型的語言,所以透過型別重載不起作用,透過參數的個數不同來重載也不起作用。 有時在物件導向中重載建構函數非常好,這樣你就可以透過不同的方法來建立物件(傳遞不同數量的參數)。在PHP中就是透過類別來實現的。
在PHP中是透過類別來完成資訊封裝的,在PHP中定義類別的語法是: