@prophp7

Страница 138 из 1387
Sergey
13.12.2016
20:06:44
тоесть тебе надо мэпить на сущности

da horsie
13.12.2016
20:06:51
объекты могут быть вложенными

Sergey
13.12.2016
20:07:02
symfony/serializer?)

da horsie
13.12.2016
20:07:06
тоесть тебе надо мэпить на сущности
в большинстве случаев да

Google
da horsie
13.12.2016
20:07:30
а что он умеет?

Sergey
13.12.2016
20:07:50
он умеет то же что jms serializer но нормально

da horsie
13.12.2016
20:08:07
читаю

Sergey
13.12.2016
20:08:19
если структура json не меняется сильно, например меняются только названия полей, то можно просто из коробки юзать

иначе нужно будет свои нормалайзеры/денормалайзеры писать

da horsie
13.12.2016
20:08:49
у меня api уже сформирован

я не могу его менять

Sergey
13.12.2016
20:09:03
ну так я и не передлагаю

я говорю что из коробки симфони сериалайзер умеет только структуру 1 в 1 мэпить

но ты всегда можешь написать свой денормалайзер

то есть довольно гибкая штука

da horsie
13.12.2016
20:10:08
понял

на самом деле у меня нет какой-то четкой проблемы, которую надо решить. просто то, как сделано, кажется "неаккуратненько"

Google
Sergey
13.12.2016
20:11:34
а мне не нравятся императивные мэпперы

хочу декларативненько

da horsie
13.12.2016
20:11:49
но пути решения, в том числе вот сериалийзер, кажутся слишком длинными с неясным профитом

Sergey
13.12.2016
20:12:02
а как ты сейчас мэпишь?

руками в сеттеры?

da horsie
13.12.2016
20:12:10
да

прям в контроллере

Sergey
13.12.2016
20:12:27
у моих сущностей нет сеттеров

da horsie
13.12.2016
20:12:28
из джейсона вытаскиваю, в сеттер сую

Sergey
13.12.2016
20:12:41
а зачем тебе тогда доктрина?)

ну мол какой профит от анемичных моделек?

da horsie
13.12.2016
20:13:00
у меня и доктрины нет

Sergey
13.12.2016
20:13:06
а что есть?

da horsie
13.12.2016
20:13:25
набор мапперов, которые напрямую с DBAL Connection работают

Sergey
13.12.2016
20:13:34
ааа

da horsie
13.12.2016
20:13:34
ну "мапперов"

Sergey
13.12.2016
20:13:36
ну тогда норм

хз тогда

у меня чуть более конкретная штука

da horsie
13.12.2016
20:13:55
у них даже общего интерфеса толком нет

Google
Sergey
13.12.2016
20:13:55
мэппинг данных на запросы

da horsie
13.12.2016
20:15:32
мои модели больше напоминают DTO

там логики нет

кроме валидации

Sergey
13.12.2016
20:15:47
понял, тупо гейтвей к базе данных

da horsie
13.12.2016
20:15:59
ну да

Sergey
13.12.2016
20:16:01
я бы firebase взял и не писал бы бэкэнд)

da horsie
13.12.2016
20:17:10
для КРУДа наверно так и надо было поступить

Sergey
13.12.2016
20:18:20
я могу тебе нарисовать схемку как у меня происходит обработка запросов

da horsie
13.12.2016
20:18:44
очень любопытно

видимо у тебя что-то очень сложное, раз столько слоев

Sergey
13.12.2016
20:30:13
че столько слоев?

Sergey
13.12.2016
20:30:16
не много

просто это не совсем уж CRUD

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

хочешь дергай действия из CLI-ных команх

хочешь, из обработчиков очередей

хочешь - из других хэндлеров, че нет

надо сделать пакетную обработку - не вопрос, дергаем хэндлер в цикле

а read model - просто отдельшая шляпа которая формирует ответы

Google
Sergey
13.12.2016
20:33:11
это из нововведений на моих проектах... раньше была боль из "замэпить сущность на массивчики и выплюнуть в виде json)

da horsie
13.12.2016
20:33:20
front controller это какой-то middleware в твоем случае?

Sergey
13.12.2016
20:33:26
тип того

в симфони - http kernel и ивент листенеры

da horsie
13.12.2016
20:33:48
ага

Sergey
13.12.2016
20:34:21
тупо прячут рутину вроде "сделай респонс"

или "замэпь реквест"

da horsie
13.12.2016
20:34:43
в обратную сторону у меня похоже

контроллер возвращает массив, который потом превращается в json вне контроллера

Admin
ERROR: S client not available

da horsie
13.12.2016
20:35:58
я понял

у меня попроще и погрязнее

Sergey
13.12.2016
20:36:47
ну для CRUD подобное лепить смысла не особо много

da horsie
13.12.2016
20:37:03
а RegisterUserRequest это наследник HttpRequest?

или не обязательно

Sergey
13.12.2016
20:37:11
нет, просто final класс

я стараюсь не юзать наследование

от слова совсем

da horsie
13.12.2016
20:37:56
у меня частями похоже

авторизация, например. слушает определенные параметры запроса и создает объект User, если может

Google
da horsie
13.12.2016
20:39:07
User приходит в контроллер как простой параметр из запроса

Sergey
13.12.2016
20:40:17
ээээм

авторизация? аутентификация?

что на вход приходит?

da horsie
13.12.2016
20:40:41
аутентификация, да

Sergey
13.12.2016
20:40:44
токен какой-нибудь?

da horsie
13.12.2016
20:40:49
да

токен в заголовке

Sergey
13.12.2016
20:40:59
у меня для аутентификации надо просто проверить подпись

JWT и все такое

далее можно создать класс UserSession

и впихнуть туда пэйлоад токена

и уже через него рулить авторизацией. Юзера же из базы доставать не надо.

da horsie
13.12.2016
20:41:36
а как инвалидировать jwt?

Sergey
13.12.2016
20:41:43
никак

потому время жизни токена ограничено

на одном из проектов было жесткое требование "дропать сессии"

в итоге я в jwt дописывал id сесии

и если такой небыло валидной - дропал

но это можно на мидлвэрю повесить

а сессии в redis держать.

da horsie
13.12.2016
20:42:47
в итоге я в jwt дописывал id сесии
ну и какой тогда смысл в jwt?

Страница 138 из 1387