說我有一個代表一個人的類,該類中的變量將是$ name。面向對象的PHP最佳實踐
以前,在我的劇本我會創建對象的實例,然後設置只要使用的名稱:
$object->name = "x";
然而,有人告訴我,這是不是最好的做法?我應該有一個函數set_name()或類似這樣的:
function set_name($name)
{
$this->name=$name;
}
這是正確的嗎?
如果在這個例子中我想插入一個新的「人」記錄到數據庫中,我如何將有關該人的所有信息(例如$ name,$ age,$ address,$ phone等)傳遞給該類插入它,我應該這樣做:
function set($data)
{
$this->name= $data['name'];
$this->age = $data['age'];
etc
etc
}
然後發送一個數組?這是最佳做法嗎?或者有人可以推薦最佳做法?
使用getters/setters的另一個重要的事情是避免將所有方法都設置爲'public',以防止開發人員無法控制地更改/訪問它們。 – Strae 2010-03-09 12:01:56