Во время работы над проектом я вносил некоторые изменения и просматривал существующие документы по API-интерфейсам для понимания.
Просматривая документы по Kohana, я заметил, что методы получения / установки любого данного класса обычно объединяются:
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 )