當你聲明一個類,你需要列出對象應有的所有變數和所有函數—被稱為屬性和方法。列表1中顯示了一個類的構成. 注意在大括弧({})內你只能聲明變數或者函數。列表2中顯示了如何在一個類中定義三個屬性和兩個方法。
列表1
class Name extends Another Class
{
Access Variable Declaration
Access Function Declaration
}
列表2
//定義一個跟蹤使用者的類
class User
{
//屬性
public $name;
private $password, $lastLogin;
//方法
public function __construct($name, $password)
{
$this->name = $name;
$this->password = $password;
$this->lastLogin = time();
$this->accesses ;
}
// 擷取最後訪問的時間
function getLastLogin()
{
return(date("M d Y", $this->lastLogin));
}
}
//建立一個對象的執行個體
$user = new User("Leon", "sdf123");
//擷取最後訪問的時間
print($user->getLastLogin() ."
n");
//列印使用者名稱
print("$user->name n");
?>
當你聲明屬性,你不需要指明資料類型。變數可能是整型,字串或者是另一個對象,這取決於實際情況。在聲明屬性時增加註釋是一個好主意,標記上屬性的含義和資料類型。
當你聲明一個方法,你所做的和在類外部定義一個函數是一樣的。方法和屬性都有各自的命名空間。這意味著你可以安全地建立一個與類外部函數同名的方法,兩者不會衝突。例如,一個類中可以定義一個名為date()的方法。但是你不能將一個方法命名為PHP的關鍵字,如for或者while。
類方法可能包含PHP中所謂的type hint. Type hint 是另一個傳遞參數給方法的類的名字. 如果你的指令碼調用方法並傳遞一個不是類的執行個體的變數,PHP將產生一個”致命(fatal)錯誤” 。你可能沒有給其它類型給出type hint,就像整型,字串,或者布爾值. 在書寫的時候, type hint是否應當包含數群組類型仍存在爭議。
Type hint是測試函數參數或者運算子的執行個體的資料類型的捷徑. 你可能總是返回這個方法. 確認你強制讓一個參數必須是哪種資料類型,如整型. 列表3確保編譯類只產生Widget的執行個體。
列表3