我想知道哪种方法被认为是最佳实践,为什么?动态或固定选项?
具有该功能,以便它试图抓住无论是在通过
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语句中进行处理。