Size: a a a

2021 April 17

SP

Sergey Protko in symfony
Я и говорю - для начала надо дать формальное определение "геттеру"
источник

SP

Sergey Protko in symfony
Или там сеттеру. Что б разночтений небыло
источник

SP

Sergey Protko in symfony

public function setName(string $name) {
   $this->name = $name;
   $this->renamedAt = new Datetime immutable();
}


Это ещё сеттер или уже не сеттер? Фулнейм твой это геттеру или уже штуки про форматирование. Как понять что с чем мы сравниваем?
источник

ПГ

Павел Г. in symfony
Нет кучи болерплейта. Выше Сергей привёл сеттер, который как раз объясняет почему сеттер "может быть полезен". Ранее не было обновление datetime а потом понадобилось. Но тут все же вопрос кейса, мы же изначально говорили о dto. Зачем там такой кейс? И может ли он даже теоретически появиться.
источник

A

Arky in symfony
это почти не сеттер)0
источник

AK

Anton K. in symfony
Я считаю это сеттером
источник

Ш

Шурик in symfony
public function rename(string $name) {
   $this->name = $name;
   $this->renamedAt = new Datetime immutable();
}

а это сеттер?
источник

SP

Sergey Protko in symfony
Почему?
источник

AK

Anton K. in symfony
Потому что он устанавливает значение свойства
То, что он имеет сайд эффекты - это нормально
источник

Kd

Konstantin dmz9 in symfony
заменяет значение name аргументом того же типа
источник

Kd

Konstantin dmz9 in symfony
это тоже сеттер
источник

D

Dmitry in symfony
а как вы их по-другому установите ? через конструктор ?
источник

AK

Anton K. in symfony
Только херово названный сеттер, ага
источник

Ш

Шурик in symfony
То есть любой метод, который меняет стейт - сеттер?
источник

AK

Anton K. in symfony
Например да
источник

Kd

Konstantin dmz9 in symfony
с единственным аргументом того же типа что и меняемый - да
и желательно ничего не возвращать - т.е. void
источник

AK

Anton K. in symfony
Если я хочу добиться иммутабельности
источник

D

Dmitry in symfony
а как изменить тогда обьект ? или они у вас полностью иммутабельные все ?
источник

Kd

Konstantin dmz9 in symfony
порождать новый
источник

Ш

Шурик in symfony
Но он меняет два свойства, и у второго не такой же тип, как у аргумента
источник