Во время работы над проектом я делал некоторые изменения и просматривал существующие документы 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;
}
Есть ли какое-либо значение при этом (первое), за исключением уменьшения количества методов данного класса? Я всегда понимал, что методы (функции в целом) должны быть более описательными для действия. Могут ли другие опытные разработчики сжиматься, даже немного, когда они это видят?
Я был просто удивлен, увидев, что популярные рамки используют такие соглашения (я, конечно, не использовал Кохану)