@symfony_php

Страница 473 из 1418
Vladislav
11.12.2017
10:15:43
Sergey
11.12.2017
10:16:01
Если абстрагироваться от сеттеров. А просто о флюент?
в сущности - плохо, по причинам описанным окромиусом

да и если тебе для сущности нужен флюент интерфейс - то что-то явно не так пошло

Dinar
11.12.2017
10:16:46
Да он нужен явно. Просто меньше текста когда сеттишь много полей.

Google
Igor A.
11.12.2017
10:18:40
Sergey
11.12.2017
10:19:22
Да он нужен явно. Просто меньше текста когда сеттишь много полей.
когда ты сетишь много полей - тебе надо задуматься "а зачем я сечу много полей, может быть мне надо завести отдельный класс под это дело и потом просто свести обновление к созданию чего-то нового"?)

Igor A.
11.12.2017
10:19:53
чуть выше
ага, понял. Думал что-то еще есть. Спасибо.

Sergey
11.12.2017
10:19:55
Да он нужен явно. Просто меньше текста когда сеттишь много полей.
то есть твоя проблема - ты пользуешься сущностями как тупыми контейнерами данных. И я все еще не понимаю что мешает тебе просто публичные поля юзать

Sergey
11.12.2017
10:21:13
Dinar
11.12.2017
10:21:31
Ну это ничего не меняет для меня.

Sergey
11.12.2017
10:22:23
да я уже понял) но тогда мы имеем дело с ложным посылом. И в целом нет смысла что-либо обсуждать

Ladone
11.12.2017
10:24:04
@fes0r а что если нужно сделать какуе-то определенную логику для сеттера, логику будем меня везте по коду? Тогда публичные свойства просто не подходят.

Sergey
11.12.2017
10:25:12
@fes0r а что если нужно сделать какуе-то определенную логику для сеттера, логику будем меня везте по коду? Тогда публичные свойства просто не подходят.
а что если тебе надо сделать определенную логику при изменении 3-х свойст? что, будем добавлять проверки в каждый из этих трех сеттеров?)

Alexander
11.12.2017
10:26:10
Подскажите для доктрины что то такое есть? http://www.midnightcowboycoder.com/

Google
Petr
11.12.2017
10:26:12
Константин
11.12.2017
10:26:47
@fes0r у тебя есть какой то выработанный best practice по не использованию сеттеров? Под каждую сущность делать DTO?

Ladone
11.12.2017
10:27:37
@fes0r ну мне не сложно для трёх свойств написать сеттер, для будущего изменения логики

Vladislav
11.12.2017
10:27:51
Шо, пацаны, опять сеттеры и дто ?

Sergey
11.12.2017
10:27:55
так может это просто метод?)

Andrey
11.12.2017
10:27:56
Каждую неделю повторяется, есть best practice - нету. Есть? Нету

Константин
11.12.2017
10:28:00
как тебе DTO помогут?)
Форме сеттеры нужны

Ladone
11.12.2017
10:28:01
геттер*

сори

Константин
11.12.2017
10:28:16
Sergey
11.12.2017
10:28:18
Форме сеттеры нужны
формам не нужна обычно та же модель данных которая нужна твоей бизнес логике

Vladislav
11.12.2017
10:28:42
В смысле опять?
Каждых 3 дня обсуждаем сеттеры и дто

Константин
11.12.2017
10:28:55
Sergey
11.12.2017
10:28:56
да норм, люди всеравно будут обмазываться этим

Vladislav
11.12.2017
10:29:05
Аа лул

Google
Ladone
11.12.2017
10:29:35
Так в чем плюс публичных свойсвт?

в чем проблема написания геттера/сеттера?

если в будущем придется что-то допиливать

Sergey
11.12.2017
10:29:57
Ladone
11.12.2017
10:30:08
я же и инетересуюсь

Sergey
11.12.2017
10:30:14
все поля должны быть приватными, а методы объекта никак не должны отражать "структуру" класса, только его поведение

исключение - DTO которые по сути тупые структуры данных без поведения

их удобнее держать тупо набором публичных полей

раз уж решился не ложить поведение в сущности - зачем тогда настраивать на то что рано или поздно ты будешь размазывать эту логику междлу сущностями и сервисами?

выбрал путь - ложи все единообразно

Константин
11.12.2017
10:33:07
Sergey
11.12.2017
10:33:28
Ну то есть под каждую форму свой дто?
не обязательно, зависит от задачи

Sergey
11.12.2017
10:33:54
если тебе надо тупо данные сохранить - то тогда возможно нет смысла делать отдельно слой dto и можно юзать сущности как dto к базе

но как правило это будет работать только в очень простых сценариях. В сценариях чуть сложнее это приведет к размазыванию логики

да и в сценариях где тебе реально норм иметь 1:1 мэппинг данных из формы на сущности (и как следствие на базу) есть вариант вообще ничего не писать и заюзать какой-нибудь мост между http и базой

Sergey
11.12.2017
10:55:18
Что за мост например?
хз, надо гуглить. Я видел подобные штуки, но сходу не скажу

я обычно в таких ситуациях просто firebase юзал (ибо ленивый)

Константин
11.12.2017
10:55:41
Чем доктрина с формой не мост?)

Sergey
11.12.2017
10:55:50
много делать, медленно работает

Google
Sergey
11.12.2017
10:56:10
да и зачем если я могу все то же сделать с firebase и angular/react ;)

бэкэндщики нинужны

Константин
11.12.2017
10:56:59
ааа, так нам тут фронтендер смуту наводит)))

Sergey
11.12.2017
10:58:20
а ты пытаешься убедить себя что бэкэндщики которые пишут формы на php нужны) либо это простые формы, либо это проще сделать на фронте)

Константин
11.12.2017
10:58:28
Я не пишу на ангуляре/реакте. У меня есть админка на easyadmin. Для создания crud всё что мне нужно это создать сущность и в yaml конфиге написать какие из полей админке выводить. Профит. Писать совсем не много, производительность тут вообще побоку

Константин
11.12.2017
10:59:10
обоснуйте)

Sergey
11.12.2017
11:01:01
тебе уже приходилось там листенеры переопределять?)

Admin
ERROR: S client not available

Константин
11.12.2017
11:01:30
ээ, нет. Зачем?

Sergey
11.12.2017
11:02:01
ну у тебя значит все простенько должно быть

Борис
11.12.2017
11:02:14
@fes0r я еще не дошел до листенеров, но easyadmin мне понравилась больше сонаты )))) Может быть "пока что".

Sergey
11.12.2017
11:02:36
@fes0r я еще не дошел до листенеров, но easyadmin мне понравилась больше сонаты )))) Может быть "пока что".
мне коллега показывал как он сонату готовит - там было даже норм

во всяком случае не так в лоб как было когда я ее пробовал

но хз... мне не нравится концепция умных админок... мне нравятся тупые кодогенераторы

Борис
11.12.2017
11:04:12
Так любой инструмент можно приготовить норм, даже ларавель (trollface) Просто в случае сонаты реально нужно выучить этот кусок, ибо документация скудная, код сложный для понимания. Я не осилил его(сонату) продебажить )))) слишком уныло. А вот easyadmin легче идет

Константин
11.12.2017
11:04:16
Считывает mapping доктрины и угадывает какой form type поставить?)

Sergey
11.12.2017
11:04:56
Google
Sergey
11.12.2017
11:05:14
в целом мне не нравится что-то что думает что мне тупо данные надо между UI и базой гонять

и делает все само и в рантайме

хочешь что-то подменить - добро пожаловать в нутро

Борис
11.12.2017
11:05:50
Но опять же, не стоит юзать ни сонату ни easyadmin для того, над чем ты не имеешь бизнесс контроля. Если могут приходить требования бизнесса к этим админкам - то лесом. Лучше отдельный фронт.

Sergey
11.12.2017
11:06:24
это вынуждает тебя тратить время и разбираться в "еще одном" инструменте вместо того что бы доставлять вэлью. А еще веселее когда ты задачи начинаешь подгонять под инструменты.

Константин
11.12.2017
11:06:25
В easyadmin почти каждый кусочек можно удобно подменить, и почти обо всём можно узнать из документации

Sergey
11.12.2017
11:07:22
если мне надо тупой crud например что бы данные какие-то залить - мне проще вообще ничего не писать а заюзать какую-нибудь headless cms

где можно админку "мышкой" накликать.

Борис
11.12.2017
11:08:28
это вынуждает тебя тратить время и разбираться в "еще одном" инструменте вместо того что бы доставлять вэлью. А еще веселее когда ты задачи начинаешь подгонять под инструменты.
Поэтому я так и говорю - если бизнесу пох на админку, то easy быстрее сонаты идет. Я накидал ни разу не ковыряясь(до этого) за 1 час. Вроде как норм затраты. Headless cms ну ХЗ )))) Удачи

Sergey
11.12.2017
11:08:43
Но опять же, не стоит юзать ни сонату ни easyadmin для того, над чем ты не имеешь бизнесс контроля. Если могут приходить требования бизнесса к этим админкам - то лесом. Лучше отдельный фронт.
да, если админка мне нужна - тут вариантов вогон. А если не мне и этим будут люди пользоваться - тут я буду аккуратнее с выбором

Борис
11.12.2017
11:08:59
?

Konstantin
11.12.2017
11:13:57
@fes0r фесор. Т.е. ты считаешь, что у сущности должны быть поля и методы, которые содержат в себе какую-то логику заполнения свойств сущности ? Без геттеров и сеттеров ?

Sergey
11.12.2017
11:16:16
а нафига ДТО тогда ?
воспринимай их как примитив)

определенная структура данных

не объект

Konstantin
11.12.2017
11:16:45
воспринимай их как примитив)
чтобы объект не коверкать что ли ?

Sergey
11.12.2017
11:17:12
что бы различать, цели у этих штук абсолютно разные

Konstantin
11.12.2017
11:17:32
что бы различать, цели у этих штук абсолютно разные
тогда объясни, пожалуйста, накой черт нужно ДТО. А лучше ссылкой ткни

знаю, они у тебя есть

Страница 473 из 1418