Нам действительно нужен getter и setter для частных переменных? Поскольку они используются только в объекте и нигде больше, я думаю, что нет необходимости.
Я посмотрел в некоторые рамки, и я увидел, что есть смесь. Иногда иногда возникают геттер/сеттер (например, для платформы Symfony2).
Мое мнение таково, что они берут слишком много строк кода в моем классе.
Если вы хотите изменить или прочитать значение, вам нужен только сеттер или геттер. Если вы только создаете геттер, например, значение только для чтения.
Это зависит от ваших потребностей, но даже если вы используете их только внутренне, рассмотрите следующий сценарий:
class CalendarEvent{
private $date;
// with type hinting, you are sure to deal with a DateTime instance
public function setDate(DateTime $date){
$this->date = $date;
}
public function getDate(){
return $this->date;
}
}
Будьте единообразны во всей своей кодовой базе, на мой взгляд, это не повредит иметь геттеры/сеттеры для каждой собственности.
[Принимать слишком много строк кода не должно быть аргументом, если они полезны.]
Даже если в частном порядке (внутри объекта), если вы хотите установить/изменить несколько раз значение частного атрибута, вы можете получить выгоду от getter/setter, если вам нужно выполнить манипуляцию/проверку значения, то есть некоторую дезинфекцию, контроль, если пустой или что-то вроде этого... это всего лишь руководство, а не правило, и его нужно оценивать в каждом случае.