推 tp6m4xup6:推 07/17 01:11
→ dlikeayu:PHP不知從5.x後,要是有寫get set function 07/17 09:25
→ dlikeayu:之後可以從實體化後的私有物件之接寫入或取得 07/17 09:25
記得那好像要看magic function怎麼寫了
小弟在寫Class的時候,有時候會這樣寫:
(懶得上色QQ)
public MyClass {
private $_propety = array();
public function __set($name, $value) {
$this->_propety[$name] = $value;
}
public function __get($name) {
if (isset($this->_propety[$name])) {
return $this->_propety[$name];
}
else {
return null;
}
}
}
這樣好處是繼承不會怕覆寫到不該覆寫的屬性
也可以直接return $_propety 代表整個class的屬性值array
但缺點是,無法知道類別有什麼屬性,寫doc也難寫
小弟通常是在寫會有動態屬性的Class時就會這樣寫了
請大師們鞭打小弟吧 <(_ _)>
※ 編輯: tails32100 來自: 118.170.19.78 (07/17 11:15)
推 Bambe:感謝大大的分享! 07/17 23:04
推 a60301:推 Getter/Setter 概念 07/18 03:09