我可以用两种不同的方式编写完全相同的类;
class Simple {
private $var;
public function __construct() {
$this->var = $this->setVar();
}
private function setVar() {
return true;
}
}
或者
class Simple {
private $var;
public function __construct() {
$this->setVar();
}
private function setVar() {
$this->var = true;
}
}
我什么时候使用一个而不是另一个?我见过许多不同的php应用程序使用两种不同的类型。但似乎没有一般的指导方针可以遵循,或者甚至对这个事实是否重要?
答案 0 :(得分:3)
对我来说,这些都不是正确的属性设置者。属性设置器应该接受一个参数,并将参数值分配给属性:
class Simple {
private $var;
public function setVar($val) {
$this->var = $val;
}
public function getVar() {
return $this->var;
}
}
答案 1 :(得分:2)
Setters应该设置,而不是返回。这不需要再解释了。