Работая над проектом, я вносил некоторые изменения и просматривал существующие документы 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 )