我想知道哪種方法被認爲是最佳實踐,爲什麼?動態或固定選項?
具有該功能,以便它試圖抓住無論是在通過
class Test{
private $first = 'first';
private $second = 'second';
public function data($what){
return $this->{strtolower($what)};
}
}
或具有固定的選項設置:
class Test{
private $first = 'first';
private $second = 'second';
public function data($what){
switch(strtolower($what)){
case 'first':
$value = $this->first;
break;
case 'second':
$value = $this->second;
break;
default:
$value = null;
}
return $value;
}
}
使用第一個選項意味着我不需要每次向課堂添加新成員時都要修改該函數,但這也意味着我不能再有private
類成員。
使用第二個選項意味着我需要在每次添加新成員時更改函數,但這意味着我可以確保不應該讀取任何內容。
第一種方法,如果我想添加額外的處理到特定的成員,我可以只爲這些成員添加if語句。
使用第二種方法,我可以在case語句中進行處理。