1

我可以编写两种不同方式做完全相同的事情的类;

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 应用程序使用这两种不同的类型。但似乎没有可遵循的一般指导方针,或者这对这一事实是否重要?

4

2 回答 2

3

在我看来,这些都不像是正确的属性设置器。属性设置器应该接受一个参数,并将参数值分配给属性:

class Simple {
    private $var;
    public function setVar($val) {
        $this->var = $val;
    }

    public function getVar() {
        return $this->var;
    }
}
于 2013-03-13T17:54:32.653 回答
2

设置者应该设置,而不是返回。这应该不需要更多的解释了。

于 2013-03-13T17:52:51.747 回答