欄位是用於描述類的麼個方面的性質。
欄位是用於描述類的某個方面的性質。它與一般的PHP 變數非常相似,只是有一些細微的差別,本節將介紹這些差別。這一節還將討論如何聲明和使用欄位,下一節則介紹如何使用欄位的範圍來進行訪問限制。
聲明欄位
欄位聲明的有關規則與變數聲明的規則非常類似;實際上,可以說沒有區別。因為PHP 是鬆散類型的語言,欄位甚至不需要聲明;可以由類對象同時建立和賦值,但很少會這樣做。相反,常見的做法是在類開始處聲明欄位。此時可以為欄位賦初值。樣本如下:
複製代碼 代碼如下:
class Employee
{
public $name="John";
private $wage;
}
在這個例子中,兩個欄位name 和wage 前面都有範圍描述符(public 或Private ) ,這是聲明欄位時的常用做法。聲明之後,每個欄位都可以在範圍描述符所指示的範圍內使用。如果你不瞭解範圍對於類欄位有何作用,不要擔心,後面將會介紹這個問題。
使用欄位
與變數不同,欄位要使用->操作符引用,而不是使用美元符。此外,因為欄位的值一般是給定對象所特有的,所以它與那個對象具有如下的相互關係:
複製代碼 代碼如下:
$object->field
例如,在本章開始時描述Employee類包括欄位name、title和wage .如果建立了一個名為$employee的Employee類型對象,就可以如下引用這些欄位:
複製代碼 代碼如下:
$employee->name
$employee->title
$employee->wage
在定義欄位的類中引用欄位時,還要使用->操作符,但此時不使用相應的類名,而是使用$this 關鍵字。$this表示要引用當前類(要訪問或操作的欄位所在的類)中的欄位。因此,如果要在上述Employee類中建立一個設定姓名欄位的方法,則如下所示:
複製代碼 代碼如下:
function setName($name)
{
$this->name=$name;
}