@symfony_php

Страница 461 из 1418
Sergey
07.12.2017
08:57:15
да, пардон

Dinar
07.12.2017
08:57:28
и в чем она?)
Для твига я не буду шарить данные. Они напрямую в твига и только для него. А АПИ может как с твоим фронтом работать, так и стать доступным для сторонних клиентов. Я не говорю что это всегда хорошо. Но это возможно.

Andrey
07.12.2017
08:57:28
Я и не говорил что сложно. Я сказал что это не нужно если это явно не нужно.
Ок, ситуация, нужно поменять схему хранения домена. Геттеры, явно отражающие поля сущности, тоже поменяются. Что нужно будет делать?

Google
Sergey
07.12.2017
08:57:48
Для твига я не буду шарить данные. Они напрямую в твига и только для него. А АПИ может как с твоим фронтом работать, так и стать доступным для сторонних клиентов. Я не говорю что это всегда хорошо. Но это возможно.
ты когда сущности прокидываешь - ты шаришь данные. Причем у тебя шаблоны завязаны на той модели данных которую используют твои сущности. А так как модель данных для записи и для чтения иметь одинаковую в большинстве случаев неудобно - ты начинаешь выбирать где тебе чаще не хочется страдать. Большинство выбирают UI и подгоняют сущности под UI. Причем чаще всего неосознанно.

Andrey
07.12.2017
08:58:29
Ок, ситуация, нужно поменять схему хранения домена. Геттеры, явно отражающие поля сущности, тоже поменяются. Что нужно будет делать?
1) Везде по твигу поменять используемые поля (если это ещё возможно, конечно) 2) Оставлять "геттеры для твига", сохраняющие старую структуру

Sergey
07.12.2017
08:58:39
нам щас половину проекта переписывать в плане фронт части, из-за того что у нас в твиге сущности повсюду

Dinar
07.12.2017
08:58:44
а как узнать что это явно нужно?
Вот когда начинают сущности подгоняться под шаблон либо структура становится намного сложнее.

Sergey
07.12.2017
08:59:36
Вот когда начинают сущности подгоняться под шаблон либо структура становится намного сложнее.
90% разработчиков неосознанно это делают и замечают этот факт слишком поздно если вообще замечают

Sergey
07.12.2017
09:00:21
первые проблемы начинаются с форм, когда их завязывают на сущности, потом начинаются проблемы когда твиг завязывают на сущности... а потом у всей команды болит голова

Dinar
07.12.2017
09:00:57
90% разработчиков неосознанно это делают и замечают этот факт слишком поздно если вообще замечают
Ну смотри. Вот добавил ты метод какой-то в сущность просто для твига. Ок. Чем это чревато?

Sergey
07.12.2017
09:01:01
Мапить на дто.
основной недостаток такого подхода - отсутствие предсказуемости. У тебя не будет возможности потратить лишний день на таску просто потому что "ну тут надо уже DTO вводить". В итоге вместо плавного "Делания дел" у тебя будут рывки. И скорее всего ты просто забьешь

Sergey
07.12.2017
09:01:56
У нас будут. Я в адекватной компании работаю. :)
а ты проходил через момент "а вот тут наверное уже надо заводить DTO"?

ну то есть в реальности

Google
Dinar
07.12.2017
09:02:12
Будет отдельная таска по рефакторингу.

Sergey
07.12.2017
09:02:15
и ты знал об этом заранее? за неделю?

Dinar
07.12.2017
09:02:27
Sergey
07.12.2017
09:02:37
ну так откуда ты знаешь как оно будет?

Dinar
07.12.2017
09:02:57
А его скорее всего не будет. Потому что а с чего бы?

И даже если сущность изменится, подправим твиг.

Тесты помогут понять где упало. Ну и IDE весьма неплохо помогает тоже.

Sergey
07.12.2017
09:04:33
у тебя пхпшторм покажет вызовы в тиге если ты сделаешь find get usages на какой-нибудь getName() ?

Dinar
07.12.2017
09:04:36
Вообще порой мне кажется процентов 50% будущих проблем рассматриваются в контексте блокнота. Не учитывается что есть IDE которая и поможет и подскажет.

Sergey
07.12.2017
09:04:40
И даже если сущность изменится, подправим твиг.
та мысль которую хочет донести @Enleur и я - это то что ты таким образом увеличиваешь каскад изменений. Причем тебе надо всегда заранее когда ты делаешь оценку задачи знать сколько чего и где тебе надо подправить. Иначе простая задача может растягиваться. Это создает для бизнеса непредсказуемость сроков. У тебя были ситуации когда ты в свои оценки не попадаешь? Как часто?

Dinar
07.12.2017
09:05:00
А дальше уже в твиг.

Sergey
07.12.2017
09:05:07
а если у тебя два десятка шаблонов

Dinar
07.12.2017
09:05:08
Ручки умеют. :)

Sergey
07.12.2017
09:05:09
с импортами

макросами

и функциями

много найдешь там?

Sergey
07.12.2017
09:05:23
Нет. Покажет контролллеры.
как оно покажет контроллеры если у тебя твиг дергает релейшен сущность и уже с ней напрямую работает?)

Google
Dinar
07.12.2017
09:05:24
Ничего страшного.

Sergey
07.12.2017
09:05:36
Ничего страшного.
расскажи о своих проектах?

сколько людей, сколько лет пилят

Dinar
07.12.2017
09:06:03
Sergey
07.12.2017
09:06:20
просто в разных масштабах оно конечно по разному аффектит и нет смысла как я уже говорил для маленьких проектов мудрить

Dinar
07.12.2017
09:06:31
9 людей. 5 лет пилят. До этого был другой код.

Симфония, скала, варниш, VueJs, jQuery легаси но вообще везде пока.

Sergey
07.12.2017
09:07:29
9 людей. 5 лет пилят. До этого был другой код.
5 лет активной разработки, то есть постоянно что-то допиливатся

Dinar
07.12.2017
09:07:35
Да.

Sergey
07.12.2017
09:07:45
как много людей работают с симфони?)

Dinar
07.12.2017
09:07:49
Постоянно вводятся новые Фили.

Все 9

Sergey
07.12.2017
09:07:59
и со скалой все 9?

Dinar
07.12.2017
09:08:03
Мы все 9 - универсалы. :)

Со скалой человека 3-4

Sergey
07.12.2017
09:08:13
скала и симфони, забавно

Dinar
07.12.2017
09:08:26
Скала - это краулеры.

Они не в связке.

Sergey
07.12.2017
09:08:33
еще более забавно

Dinar
07.12.2017
09:08:41
Почему?

Google
Sergey
07.12.2017
09:08:58
еще более забавно
а у тебя разве не на котлине агрегаторы?

Dinar
07.12.2017
09:09:28
Скала приложения просто парсят сайты разные и складывают в бд.

С которыми бэкэнд на симфони работает.

Sergey
07.12.2017
09:10:30
а у тебя разве не на котлине агрегаторы?
на котлине, чтобы работать с кучей асинхронного кода и потоками данных скоро правда в это дело подключатся реактивные стримы

на котлине много чего в принципе

но это ж не скала)

Dinar
07.12.2017
09:10:51
Мы типа Reputation management System. Собираем все ревью, анализируем, отчеты предоставляем и куча других удобств для бизнеса.

Sergey
07.12.2017
09:10:53
я б скалу в проект не тащил бы

Dinar
07.12.2017
09:12:10
Скала делает свою тупую работу. Там не такая уж сложная логика и связи.

Тупо модули кораулинга для каждого сайта и тесты.

Admin
ERROR: S client not available

Dinar
07.12.2017
09:13:17
а зачем вам доктрина?
Чтобы данные которые в БД лежат использовать. :)

Sergey
07.12.2017
09:13:25
Dinar
07.12.2017
09:13:28
Нет. У нас куча всего.

Sergey
07.12.2017
09:13:48
Чтобы данные которые в БД лежат использовать. :)
обработка данных как происходит?

Dinar
07.12.2017
09:13:50
Мы не только показываем. У нас целый комплекс по взаимодействию с клиентами.

Google
Sergey
07.12.2017
09:14:04
сервисы?

Dinar
07.12.2017
09:14:05
Sergey
07.12.2017
09:14:39
Симфонией
что мешает с твоей логикой публичные поля в сущностях юзать?)

Sergey
07.12.2017
09:14:40
почему?)_
где я тебе потом скалистов буду искать?) я тут не знаю как команде приподносить работу с реактивными системами, весь код измазан монадными map/flatMap

Dinar
07.12.2017
09:14:59
Sergey
07.12.2017
09:15:11
То что это не очень хорошая практика. :)
а геттеры и сеттеры - хорошая?)

или просто "чуть лучше чем публичные поля"?)

Dinar
07.12.2017
09:15:32
Если мне надо будет отдавать что-то немного по другому - это станет проблемой.

Sergey
07.12.2017
09:15:39
ты ж можешь как ты сам сказал шаблончики подправить

Sergey
07.12.2017
09:15:46
сеттеры и геттеры разве что в рантайме помогут поймать ошибки типов

Sergey
07.12.2017
09:16:07
Если мне надо будет отдавать что-то немного по другому - это станет проблемой.
то есть ты все же делаешь разные геттеры для одного поля просто потому что тебе надо "чуть по другому"

подгоняешь сущность под UI

Dinar
07.12.2017
09:16:36
Ну ты не путай создание маппинга и ДТО c Alt+Shift+Enter -> Create Setters and Getters. :)

Sergey
07.12.2017
09:16:56
Ну ты не путай создание маппинга и ДТО c Alt+Shift+Enter -> Create Setters and Getters. :)
DTO точно так же можно генерить из кода при желании

Dinar
07.12.2017
09:17:02
Ну и кстати да. Проверка типов.

Sergey
07.12.2017
09:17:03
есть даже плагины для шторма

Ну и кстати да. Проверка типов.
не будет работать для твига

Dinar
07.12.2017
09:17:13
Из какого?

Скинь. Гляну.

Sergey
07.12.2017
09:18:05
Скинь. Гляну.
ну только под java) https://plugins.jetbrains.com/plugin/7834-dto-generator

Да не про твиг.
но ты с твига начал)

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