
Maksim
12.10.2018
16:23:16
я, как существо глупое, не вижу ни одной причины сейчас юзать jms
и даже ленью не оправдать, ибо в jms буковок надо больше писать)

Vladislav
12.10.2018
16:24:07
он не поддерживается
йоханесс забил на все свои проекты

Google

Vladislav
12.10.2018
16:24:22
там рили гемор

Konstantin
12.10.2018
16:24:35

Maksim
12.10.2018
16:24:55

Vladislav
12.10.2018
16:25:49
а еще например ты захочешь вставить какое-то кастомное поле в респонс обьекта, которое получается результатом вызова какого-то сервиса, в джмс только один варик там, лисенер, вытаскивать там какой-то контекст и ручками пихать туда
не контекст, что-то на букву V, но не помню)
у меня был пример что я считал каку-то статистику для юзеров.
то есть я возвращаю массив юзеров и у каждого должно быть поле 'stats' => [1, 2,0, ...]. статы я считаю отдельным запросом и храню в мапе [userId] => stats. и вот надо фигачить лисенер, доставать контекст, искать в мапе статы по айди и пихать в респонс
хуева туча кода
вспомнил Visitor эта фигня там называется

Konstantin
12.10.2018
16:33:44
интересно а у большого брата также?

Vladislav
12.10.2018
16:34:31
у симфони сериалайзера?

Konstantin
12.10.2018
16:34:46
у спринга

Vladislav
12.10.2018
16:34:56
так причем спринг к джмс

Konstantin
12.10.2018
16:35:31
я про спринг как фреймворк в целом, на нем же тоже апишки делают да и идеологически как мне казалось - симфони много оттуда слизали

Google

Konstantin
12.10.2018
16:35:43
может я путаю сильно

Vladislav
12.10.2018
16:36:01
на самом деле фикс в джмс оч изи, добавить просто возможность указывать соурс для вирутального поля. указал соурсом функцию сервиса и все

Mars
12.10.2018
17:15:03
hi

Sergey
12.10.2018
17:16:41

Maksim
12.10.2018
17:16:44
Херь про конфу дропнул. Дичь какая-то для даунов. Оч на спам похоже

Sergey
12.10.2018
17:17:32

Maksim
12.10.2018
17:18:46

Sergey
12.10.2018
17:24:03

Abdumanon
12.10.2018
17:32:00

Maksim
12.10.2018
17:32:40

Vladislav
12.10.2018
17:53:12
@Eraice ро хош?

Maksim
12.10.2018
17:54:19

Arky
12.10.2018
17:54:37

Vladislav
12.10.2018
17:54:55
так что ссілка полезная біла)

Maksim
12.10.2018
17:55:26

Andrey
12.10.2018
18:02:21

Arky
12.10.2018
18:02:54
не нужон мне ваш фаулер, пойду на конфу

Maksim
12.10.2018
18:03:27

Google

⛪️Поп Гапон⛪️
13.10.2018
07:54:17

sgworker
13.10.2018
12:54:46
Кто-нибудь использовал kafka из под php? Не особо много информации по этому поводу. Есть расширение php-rdkafka (и бандл для него mshauneu/php-rdkafka-bundle), но оно что-то подустаревшее, последнее время не обновляется и работает с кафкой до версии 0.10, а уже вышли 0.11, 1.0, 1.1, 2.0 после этого. И ещё есть некий пакет nmred/kafka-php, который вообще не вызывает доверия, т.к. написан крайне небрежно и с кафкой 2.0 не заработал. Кто что может подсказать, чтобы поюзать кафку под пыхой?

Adilet
13.10.2018
15:29:36
Как развернуть symfony4+angular приложение на одном сервере. Где открытая часть сайта будет на ангуляре, а админка на симфони (sonata)?
Как я понимаю будут конфликты с роутерами.

Bohdan
13.10.2018
15:43:12
сабдомены
site.com
admin.site.com
api.site.com

? Dmytro
13.10.2018
15:44:58

sgworker
13.10.2018
17:08:47

Vladislav
13.10.2018
17:13:53

Vlad
13.10.2018
17:43:13
Добрый вечер, подскажите пожалуйста, можно ли получить symfony container не через DI?
Есть проблема, при использовании сторонней библиотеки, она стреляет события в определенный файл, который формируется не через DI, а хардкодом через new (...), т.е. там прибит гвоздями конструктор, а мне там нужен symfony container чтобы получить необходимые сервисы

Артур Евгеньевич
13.10.2018
17:52:30

Vlad
13.10.2018
17:53:07

Sergey
13.10.2018
20:22:24
https://github.com/symfony/maker-bundle/releases/tag/v1.8.0 активно релизят


Valentin
13.10.2018
22:16:41
Здравствуйте, хотел бы спросить о том как организовать подготовку данных к выводу, у меня жсон апи на симфони 4 и я устал отдавать объекты, это медленно, не удобно и вообще кажется можно сделать намного всё гибче и более явно, что мне нужно - после получения данных из бд - проводить некоторые трансформации - заще всего убирать поля (например password), иногда мержить данные (из id, translations[en={title...}, ru={title...} В id, title, в зависимости от локали пользователя], иногда добавлять данные, например isUserDoesSmth на основе других полей, ну и добавлять служебную информацию, например paging: {total, currentPage} etc, сейчас пользуюсь группами сериализатора + кастомным методом для возвращения респонса в котором это всё реализую, но сейчас хочу отказаться от объектов и перейти на массивы, ну и проводить трансформации с ними, пока набросал себе такую модель работы:
1. В контроллере в качестве ответа отдаю что то типа return new StorePageView($getAllProductsQuery, $user)
2. Внутри уже будет список "модификаторов", например TranslationMod, isUserBoughtFlag, PaginationMod, каждый из которых будет отрабатывать данные перед выводом, т.е isUserBoughtFlag например будет получать массив данных и смотреть isset(userBoughtProduct) и если такое поле есть то будет добавлять новое поле isBought = true, а сам userBoughtProduct должен быть прикреплён в репозитории к Query который передаётся во вьюху,
4. Ну и собственно эта вьюха сформирует массив обработанный модификаторами, коих может быть много, и их можно переиспользовать в других вьюхах, а вот сами вьюхи вероятно будут по одной на ендпоинт..
Вопрос в том - не хрень ли я задумал? Как вообще принято обрабатывать данные в апишках перед ответом?
Конкретно в этом варианте я вижу проблему в неявном связывании репозиториев и вюх - т.е если репозиторий не прикрепил к запросу каких то данных, например тот же джоин на userBoughtProduct не сделал - то и в вюхе мы его банально не словим, и даже не узнаем никак об этом, ну и плюс вопрос по кастомизации, пока все кейсы которые мне нужны оно покрывает, но что если я захочу потом что то дико кастомное.. Поделитесь плиз как вы работаете с данными перед отдачей клиенту?


Sergey
13.10.2018
22:18:50
сериалайзер на json_encode замени, будет снова быстро и быстрее чем массивы


Valentin
13.10.2018
22:28:08
Ну да, но мне нужна функциональность сериалайзера, т.е хочу какой то свой велосипед что бы убирать поля / добавлять новые динамически, в зависимости от данных и от добавленных во вьюху модификаторов
Есть у меня там $queryOfAllUsers, я его такой во вьюху засунул:
return UsersPageView($queryOfAllUsers, $user)
А внутри добавил модификатор ShowEmail допустим задача которого выводить емейл юзера только если это текущий юзер, либо в текущего юзера есть права админа, и внутри вьюхи происходит перебор данных:
foreach ($queryResult as $key => $value) {
$newValue = $showEmail->process($value)
}
Внутри будет удаляться поле email если оно есть и если у текущего авторизированного юзера не достаточно прав на его просмотр
Я просто хз, хочется чего то удобного, и что бы кастомайзить было легко, но что то полюркал по нескольких проектах и ничего годного не нашёл.. Но при этом не верится что никто не сделал чего то универсального, заготовку какую то, которую ставишь, пишеш свои условные модификаторы (логику отображения) и радуешься жизни


f4rt~
14.10.2018
00:25:29

Valentin
14.10.2018
06:17:38

Google

Andrew
14.10.2018
15:14:17
Подскажите пожалуйста, как выбрать из таблицы, название которой зарезервировано? К примеру
* @ORM\Table(name="`user`"
И надо сделать выборку из этой таблицы, однако
->from('users',
выбирает из таблицы базы данных, то есть какие юзеры имеют доступ к БД. mysql, root, etc.

Icewild
14.10.2018
15:15:48
from('App\Entity\User')
не?

Andrew
14.10.2018
15:16:03
Нельзя маппер исползовать) Только нативный
Нашел решение только что, добавить скобки внутри скобок
'"user"',
Спасибо
Если что такие работать не будут ``

Sergey
14.10.2018
15:18:10
о дивный мир недочитанной документации

Andrew
14.10.2018
15:18:50
Вообще то читал
Не вижу что б там писали про нативный sql
А лишь при декларации таблицы или параметра для маппинга.

Sergey
14.10.2018
15:19:30
а, ну так дока про ORM а не про dbal

Andrew
14.10.2018
15:19:37
:)

Mars
15.10.2018
06:57:20
Хату в вечер. Кто нибудь идет на яндекс php митап?
https://events.yandex.ru/events/meetings/18-OCT-2018/

Sad but
15.10.2018
07:00:16
Я хотел пойти но забыл когда и прошляпил регистрацию)

Артур Евгеньевич
15.10.2018
07:05:37

Mikhail
15.10.2018
08:08:40
Да, много кто
если будут выдавать ссылочки на запись трансляции, скинь в чатик позязя

Google

Александр
15.10.2018
08:16:27

Sad but
15.10.2018
09:40:17
ребят, никто не сталкивался с проблемой с AccessDeniedException от секьюрити
у меня кернел.листнер его перехватывает хотя я отдельный хендлер написал по документации, но он туда не попадает, не могу понять логику

Icewild
15.10.2018
09:41:20
в конфиге прописал его?

Sad but
15.10.2018
09:41:33
да

Vladislav
15.10.2018
09:47:07
Ну есть такая штука как дебаг, включай и смотри что и почему

Sad but
15.10.2018
10:08:35

Evgenii
15.10.2018
10:20:20

Sad but
15.10.2018
10:24:47

Icewild
15.10.2018
10:26:41
-.-

Sad but
15.10.2018
10:35:09
Если оно не работает то лучше не использовать очевидно

Vladislav
15.10.2018
10:35:51
если ты не можешь дальше 1 шага от документации - лучше не писать код вообще)

Sad but
15.10.2018
10:36:49

Icewild
15.10.2018
10:37:24
странно, у меня работает

Vladislav
15.10.2018
10:38:51
просто лол)

Maksim
15.10.2018
10:39:14
вывод: дока говно, читать не надо