Kirill
да, про него
ну тут всё же надо подумать чья это зона ответсвенности
Kirill
если это прям тип, который может быть в т.ч. выражен через VO, то ты прав
Kirill
типа new Description('text') со всякими: $description::$maxLength и проч
Михаил
Kirill
ну зависит от реализации
The Ant
Павел
Дичь редкостная конешь.
Эта дичь вообще то твой любимый вопрос закрывает, как сделать партикал Дто ))
Конечно можно было и раньше, но теперь будет поинтереснее
Михаил
Партикал дто? Через наследования чтоль?
Михаил
Ну и лучше отказаться от null и использовать его именно как непришедшее значение
Павел
class Dto
{
public string $name {
set {
$this->inited['name'] = true;
$this->name = $value;
}
}
public function isInit(string $name){
return isset($this->inited[name])
}
}
Можно было и с сеттерами такое, но с паблик свойствами дто поприятнее
Павел
Михаил
Михаил
У дто делаешь метод ::createFromRequest
И делаешь getter-ы с вопрошателями которые или забирают данные из массива запроса или спрашивают, есть ли данные.
Михаил
Павел
Павел
Плюс зачем мне геттеры, если можно дто с паблик свойствами
Михаил
Павел
Опять же если не промапить на свойства - возня с валидатором и что надо будет валидацию писать на массив
Михаил
Ну и тем более после 8.4 и эта мечта станет реальностью )
Михаил
Ридонли на то и ридонли - только в конструкторе можно будет редактировать
The Ant
Павел
Павел
У меня такой же сервис есть и без трейта выходит
The Ant
Ну да, зато боилерплейта сраного нет
Павел
Павел
Михаил
Павел
The Ant
Угу. Можно было бы наверное функцию, было бы лучше даже. Но с функциями беда в пхп
The Ant
А хелперы на Статик классах такое себе
Павел
Ну и с сервисом я думаю получше вот это:
Ты динамиечки свойства перебираешь, а я принудительно указываю нейм. Если в дто поменять название, то я упаду в тесте, ты нет
Павел
Т.е. если делать трейт, то наверное лучше не массив возвращать а именно нейм проверять
Павел
Т.е. тут скорее не трейт vs сервис, а в целом подход
The Ant
Тут все зависит от использования в дальнейшем скорее. У меня полуавтоматический мапинг на ентитю, поэтому так )
The Ant
Если полностью ручной на ифах, то без массива наверное
The Ant
Если полностью автоматический, то и рефлексия не нужна такая, это задача мапера будет )
The Ant
Стыдно такое конешь показывать, но да ладно )
Павел
Павел
Не проще тогда денормалайзером в 1 строку?
The Ant
Дрочить сериалайзер туда суда неахота )
Павел
Павел
The Ant
Хотяб лишних зависимостей нет в конструкторе сервиса 🤣
The Ant
Этим и руководствовался
Павел
А то голым кодом что то совсем буе.
$arrayMapper->map($dto->getProps(), $entity)
Павел
Хз что зависимостей бояться. Если боишься, делай через new ))
The Ant
Хз что зависимостей бояться. Если боишься, делай через new ))
Ахах, прост есть сущности ппц большие. Некоторые ещё штук 5 репозиториев тянут за собой.
Я не знаю как с этой хернёй бороться. Там в конструкторе портянка на экран целый. Всякой шляпы. Логкры, ентитименеджеры, ивент басы, командбасы и прочее прочее. Ещё и хелперов всяких напихивать.
The Ant
Хотя можно было бы просто функции юзать для многих действий 😟 как вот мапер какой
Павел
The Ant
Павел
@theantt ты все никак не осилишь телегу на компе?)
The Ant
Сложный вопрос для меня) шапочка из фольги. Вроде надо, а вроде и бекдор сук ))
The Ant
Не хочу ставить крч 😄
The Ant
Точно, есть же веб версия
Михаил
Всмысле бекдор?
Михаил
Поподробнее
Михаил
The Ant
Всмысле бекдор?
Ну я не знаю возможностей телеги на десктопе. М б. Она скриншоты экрана шлёт Пашке, может видео пишет. Может слушает микро, или может дать возможность приконнектится и ченить поделать 🤷
Поэтому, нахер ее ) но это мои личные заморочки. Все сложно.
Михаил
Ясно, аваторка всё объясняет
Михаил
Хотя мне ли говорить, тоже иногда паранойю
Михаил
Ну будет свободные выходные - извучи исходники телеги а потом собери
The Ant
Ну я не то чтобы прям параноик. Но приватность нынче вообще не в почете. Хочется немного... Анальных зондов везде насовали
The Ant
Михаил
Ну так измени своё отношение к этому.
Признайся себе в бессилии. Скажи что «да, за мной следят. Да, у меня уже установлены все возможные бекдоры и слежки на пк» и твоя задача сделать так, что бы ничего ценного на нём не было. Разделяй и влавствуй
The Ant
Лучше минимизировать )
А то вдруг в приватном чате будешь обсуждать политику гневно, а тщ.майор по скринам вычислит тебя 😄
The Ant
Прецеденты кстати были, на судах были секурные чаты из телеги. Откуда они у них вопрос конешь.
Михаил
Михаил
Ну я думаю про обсуждении политики и вообще нарушения закона страны в которой ты живёшь - это вопрос отдельный. Так не стоит делать не важно, разговоры об это ведутся в чате на компе или на кухне.
У нас больше вопрос про хаккерские атаки