@symfony_php

Страница 460 из 1418
Sergey
06.12.2017
21:10:54
я думаю ты ляжешь первым

но это больше для SPA

Ты когда нам лекарство о рака сделаешь?)
в смысле? от сеттеров ты можешь просто отказаться. Проблема отказаться от геттеров

Алексей
06.12.2017
21:12:08
стоит ли брать если у нас екомерц и регистрации рекой? если они лягут то продажи просядут, или там настолько все хорошо что можно не бояться?
Может быть, если сервис важный, то можно уделить немного времени и написать регистрацию, которая нужна именно вам? :)

Google
Vladislav
06.12.2017
21:12:16
я думаю ты ляжешь первым
"если я встану, то ты ляжешь"

auth0 оч потные, для среднего проекта их хватит

Alan
06.12.2017
21:13:21
я думаю ты ляжешь первым
у нас ддосы от конкурентов)

Sergey
06.12.2017
21:14:00
но ддосы то на вас а не на них

Alan
06.12.2017
21:14:29
если они слабые то будет хорошая цель)

Dinar
07.12.2017
08:04:40
в смысле? от сеттеров ты можешь просто отказаться. Проблема отказаться от геттеров
Я вот пропустил то обсуждение про сеттеры геттеры. А в чем их неудобство?

Sergey
07.12.2017
08:04:55
день сурка

Alan
07.12.2017
08:05:13
ахаха

Sergey
07.12.2017
08:22:03
Я вот пропустил то обсуждение про сеттеры геттеры. А в чем их неудобство?
кто говорит что это неудобно? Вот у тебя есть данные, к которым ты имеешь доступ на чтение через get и на запись через set. И вот у тебя есть сервисы-менеджеры, которые хранят процедуры для работы с этими данными. Удобно ведь

Dinar
07.12.2017
08:22:27
Так а почему ты против то?

Sergey
07.12.2017
08:23:04
дело не в сеттерах

дело в убогом апи, которое выходит при использовании их

не оч выразительное

Google
Sergey
07.12.2017
08:24:01
Так а почему ты против то?
сеттеры удобно писать но не удобно ими пользоваться спустя время. Особенно когда у тебя приложение выходит за рамки CRUD тупого

так же с точки зрения семантики кода - это бред полный.

можно просто отказаться от префиксов get и set для начала и именовать методы нормально. Этого достаточно что бы вопрос с семантикой решить

типа rename вместо setName. Тут изменения только на уровне названий

причем довольно простые изменения

ну и еще - у объектов есть жизненный цикл. Если у тебя создание сущности скажем это "сделать новый и потом через сеттеры запихнуть данные" у тебя уже не так просто будет отделить флоу создания от обновления.

а это иногда требуется

чаще будешь подгонять требования под то как у тебя код написан

Sergey
07.12.2017
08:27:21
над составить сравнительную таблицу всех компонентов, чтобы было понятно какие из них работают только с аксесорами, а какие умеют через рефлексию

Sergey
07.12.2017
08:28:23
ну я вот не помню например их наизусть, но той же сонате нужны аксесоры на запись

ты не всегда можешь взять и отказаться от сеттеров

если у тебя вся работа построена на сущностях

без дополнительных маппингов на дто

Sergey
07.12.2017
08:29:08
ну так то да)

хотя я мало пакетов знаю которые именно сущности хотят. От геттеров ты так просто не откажешься, это да. А вот от сеттеров - на раз два

да, возможно понадобится какой-то слой трансформации данных (как в формах)

ну и я с сонатой вообще почти не работал. только видел ее издалека и считаю раком

хотя коллега показывал то как он ее готовит и там нет проблем с отсутствием сеттеров

Sergey
07.12.2017
08:31:05
а лепить дто на каждый чих(сущность), это из разряда лепить интерфейс на каждый сервис

Google
Sergey
07.12.2017
08:31:19
у меня вот на котлине нет ни сеттеров ни геттеров

Dinar
07.12.2017
08:43:34
Но сеттеры - более унифицированы и предсказуемы. Фрейм не сможет угадать что rename меняет поле name. Тем более rename - более неопределенное в целом. Если у тебя например есть поля name, businessName и shortName. Какое будет менять rename?

Sergey
07.12.2017
08:43:48
что значит фрейм не может угадать?

доктрине например сеттеры не нужны

Dinar
07.12.2017
08:44:31
Зато твитну нужны геттеры

Твигу *

Sergey
07.12.2017
08:44:48
твигу не нужны твои сущности

а если нужны, то у тебя проблемы

Dinar
07.12.2017
08:45:09
Ну все через рефлексию - не самый производительный вариант порой же?

твигу не нужны твои сущности
Как уж? Он ищет getName, hasName, isName.

Sergey
07.12.2017
08:46:02
так не передавай свои сущности в твиг

и не будут нужны

Tex
07.12.2017
08:46:37
Как уж? Он ищет getName, hasName, isName.
ну так геттеры, а не сеттеры же. сеттеры твигу не вперлись.

Dinar
07.12.2017
08:46:52
Здрасьте. А че каждые данные сидеть и в массивы превращать?

Sergey
07.12.2017
08:47:01
Как уж? Он ищет getName, hasName, isName.
ему сойдут и массивы, синтаксис от этого не изменится

Dinar
07.12.2017
08:47:23
Я считаю, что это немного бред. :)

Aleksey [R10]
07.12.2017
08:47:23
Зато твитну нужны геттеры
разве? вроде он с паблик полями тоже работает

Google
Sergey
07.12.2017
08:47:33
Здрасьте. А че каждые данные сидеть и в массивы превращать?
в массив, в DTO, во что-то что скрывает от шаблонов структуру данных которая нужна для write операций

Sergey
07.12.2017
08:47:34
ты ж в json не скармливаешь весь граф своих сущностей?

Dinar
07.12.2017
08:47:39
Sergey
07.12.2017
08:47:46
Aleksey [R10]
07.12.2017
08:47:51
Паблики поля - не хорошо.
это другой вопрос

Sergey
07.12.2017
08:47:56
Паблики поля - не хорошо.
паблик поля хорошо когда это не объект а тупая структура данных без поведения

Sergey
07.12.2017
08:48:35
{{ foo.bar }} будет работать и если bar это публичное поле, и если есть геттер для приватного, и даже если foo это массив просто

Dinar
07.12.2017
08:48:36
Admin
ERROR: S client not available

Sergey
07.12.2017
08:49:09
Это необходимость.
на большом проекте держать строгие структуры для твига это тоже необходимость

Sergey
07.12.2017
08:49:14
Не настолько нужная штука. Никаких особо проблем не влечет это.
ты не можешь допустить что это может стать проблемой?)

Sergey
07.12.2017
08:49:51
Не настолько нужная штука. Никаких особо проблем не влечет это.
я ж не говорю что если ты геттеры юзаешь и сеттеры - то ты обязательно делаешь все неправильно. На простых проектах которые редко меняются и где все изменения примитивны - там вообще плевать что и как ты делаешь

потому всякие эктив рекорды и придумали

Dinar
07.12.2017
08:50:11
ты не можешь допустить что это может стать проблемой?)
Можно допустить что любая штука станет проблемой. Вопрос в вероятности случая данной проблемы. Иначе код hello World начинает превращаться в демонстрацию паттернов.

Sergey
07.12.2017
08:50:38
ну и иногда лучше перебздеть чем недобздеть

Dinar
07.12.2017
08:51:16
на большом проекте держать строгие структуры для твига это тоже необходимость
Твит очень тесно связан с проектом обычно. В чем смысл перемапливать для него? Это ж не API.

Google
Sergey
07.12.2017
08:51:19
большинство же думают по принципу "а и так сойдет, будут проблемы будем чего делать". А когда проблемы приходят - сделать ничего уже нельзя

Dinar
07.12.2017
08:51:33
ну и иногда лучше перебздеть чем недобздеть
Ну иногда. Но далеко не всегда. :)

Sergey
07.12.2017
08:51:56
Твит очень тесно связан с проектом обычно. В чем смысл перемапливать для него? Это ж не API.
почему он тестно связан? то есть тебе иногда приходится сущности править что бы на шаблончики легло лучше?

Dinar
07.12.2017
08:52:11
большинство же думают по принципу "а и так сойдет, будут проблемы будем чего делать". А когда проблемы приходят - сделать ничего уже нельзя
Есть вещи которые стоит заранее подумать. А есть которые без проблем поправятся если понадобятся. :)

Sergey
07.12.2017
08:52:15
и чем это от API отличается по твоему?)

Есть вещи которые стоит заранее подумать. А есть которые без проблем поправятся если понадобятся. :)
и использование сущностей во view - та штука которую не поправить потом либо это будет очень дорого

Sergey
07.12.2017
08:52:51
Нет. Я к тому что это все на одном бэкэнде происходит.
а API происходит не на одном бэкэнде?

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

но что там что там с точки зрения того что тебе надо подготовить разницы никакой нет

Dinar
07.12.2017
08:53:32
и использование сущностей во view - та штука которую не поправить потом либо это будет очень дорого
У твига нет строгой типизации. Заменить на DTO или массивы можно в любой момент. Возможно почти не меняя твиг

а API происходит не на одном бэкэнде?
Клиент твоего апи обычно немного отделен. :)

Sergey
07.12.2017
08:54:41
У твига нет строгой типизации. Заменить на DTO или массивы можно в любой момент. Возможно почти не меняя твиг
сделать DTO тоже как бы не особо добавляет оверхэда на время имплементации) и в зависимости от того что ты пилишь профит от этого ты можешь получить очень быстро. Естественно речь не идет о проектах которые пилит один-два человека

Dinar
07.12.2017
08:55:11
Ну тебе целый шаг маппинга надо добавить.

Sergey
07.12.2017
08:55:16
p.s. если я клиент тоже пишу - как ты думаешь, мне есть разница кто странички рендрит. твиг или реакт?)

Ну тебе целый шаг маппинга надо добавить.
это не так сложно как ты думаешь)

и уж тем более это не занимает много времени относительно остальных вещей о которых нужно париться

Sergey
07.12.2017
08:55:54
Есть. :)
и в чем она?)

Dinar
07.12.2017
08:56:12
это не так сложно как ты думаешь)
Я и не говорил что сложно. Я сказал что это не нужно если это явно не нужно.

Sergey
07.12.2017
08:56:20
Твит очень тесно связан с проектом обычно. В чем смысл перемапливать для него? Это ж не API.
1. ты не можешь больше проследить где используется то или иное поле в сущностях. их сложнее становится менять и рефакторить. твоя доменная модель уползает туда где ей не место 2. ты становишься зависим от геттеров 3. если тебе в шаблоне внутри цикла users у юзеров нужно какое-то кастомное поле, которого нет у юзера.. то первое что делают, это неперсистентное поле и туда прихают эти значения, чтобы в шаблоне все красивенько бло 4. сущности начинают подгонятся под шаблоны 5. и шаблоны это такое же отдельное приложение. представь что ты на реакте рендеришь все с предзагруженными данными

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