在开发项目时,我已经进行了一些更改,并浏览了现有的框架API文档以了解其内容。
在注意到Kohana文档时,我注意到任何给定类的getter / setter通常是相结合的:
public function someProperty($value = null){
if(is_null($value){
return $this->_someProperty;
}
$this->_someProperty = $value;
return $this;
}
而不是:
public function setSomeProperty($value){
$this->_someProperty = $value;
return $this;
}
public function getSomeProperty(){
return $this->_someProperty;
}
这样做有什么价值(前者),除了减少给定类的方法计数?我一直在理解,方法(一般的功能)应该更具体地描述一个动作。其他经验丰富的开发人员在看到这一点的时候,会有什么困扰,甚至有点小问题吗?
我很惊讶地看到一个流行的框架使用这样的惯例(当然没有使用Kohana)