どの方法がベストプラクティスと見なされているのか、その理由は何ですか?
関数を持っているので、渡されたものは何でも取得しようとします。
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
ます。
2 番目のオプションを使用するということは、新しいメンバーを追加するたびに関数を変更する必要があることを意味します。
最初の方法では、特定のメンバーに特別な処理を追加したい場合、それらのメンバーに if ステートメントを追加するだけです。
2 番目の方法では、case ステートメント内で処理を行うことができます。