在编写类方法以将变量设置为true / false时,为每个[setActiveTrue()和setActiveFalse()]编写单独的方法是否更好,或者最好使用采用true / false的单个方法参数[setActive($ x)]。
public setActive() {
$this->activeElement = true;
}
public removeActive() {
$this->activeElement = false;
}
OR
public setActive($x) {
$this->activeElement = $x;
}
答案 0 :(得分:0)
我不知道"最佳做法"是,但我总是做一个方法,如:
public function setActive ($active = true) {
$this->_active = (boolean) $active;
}
我可以看到论证的两面,但我的风格是一种方法。
答案 1 :(得分:0)
我会这样做
public function Active($x = true) {
$this->activeElement = $x;
}
然后,您可以致电Active()
将其设为有效,并Active(false)
将其设为无效。
答案 2 :(得分:0)
我喜欢设置和获取一个方法:
public function active($param='')
{switch ($param)
{case '':
return $this->active;
case true:
$this->active = true;
default:
$this->active = false;}}
$active = $this->active(); // returns active
$this->active(true); // set active to true
$this->active('true');
$this->active('false'); // those will set active to false
$this->active(false);
在这种情况下,调用没有args的函数(或使用空字符串)返回值,使用true调用它将其设置为true,并使用任何其他参数调用它将其设置为false