直接在__construct
中設置屬性是不好的做法。這些代碼塊之一是否更適合面向對象的PHP?直接在__construct中設置屬性是不好的做法嗎?
我知道這是不好的做法,這樣做的類外...
class person {
protected $name;
function __construct($persons_name) {
$this->set_name($persons_name);
}
function set_name($new_name){
$this->name = $new_name;
}
}
VS.
class person {
protected $name;
function __construct($persons_name) {
$this->name = $persons_name;
}
function set_name($new_name){
$this->name = $new_name;
}
}
無論如何,我認爲''set_name()'是不好的練習,因爲你應該使用'__set()'。其他人則認爲,獲得者和制定者都是不好的練習。拿你的選擇。 – 2013-12-13 19:49:03
有沒有什麼好書可以學習正確的PHP OOP方法? –
'set_name()'在這裏是多餘的,因爲你的屬性是公共的。爲什麼有人要用一種方法來改變它呢?讓它保護或私人只是這樣你可以有一個理由使用該方法也不是一個好主意。安裝程序適用於有充分理由直接無法訪問的屬性 –