
Егор
13.02.2018
19:38:33
матиас нобак из 2014-го считает, что flush-ить в репозиториях - ок: https://matthiasnoback.nl/2014/05/inject-a-repository-instead-of-an-entity-manager/

Alan
13.02.2018
19:40:24
я save не делаю, отдельно add() отдельно flush() когда надо

Pavel
13.02.2018
19:41:14
Вопрос: есть сейчас обычный симфони проект(3.4, standard edition).
Надо прикрутить пуш уведомления для людей онлайн. Что лучше для этого использовать?

Alan
13.02.2018
19:41:33
sendpulse ?)

Google

Pavel
13.02.2018
19:42:24
а попроще?)

Alan
13.02.2018
19:44:19
а чего там сложного? скрипт воткнул, зарегался. все)
бесплатный тариф есть и лимит там вроде норм

Vlad
13.02.2018
19:45:48

Petr
13.02.2018
19:46:10

Evgenii
13.02.2018
19:50:59

Егор
13.02.2018
19:51:48
Поищи по "Suggestion: add a save function to your repository"

Evgenii
13.02.2018
19:52:32

Alan
13.02.2018
19:52:46
а как перечеркивается смысл data mapper ? какие сайд эффекты?

Evgenii
13.02.2018
19:53:23
Там написано - если уж ты хочешь сейвить, то тебе не нужно инджектить ем, а это немного разные вещи

Alan
13.02.2018
20:01:30
флаш в репо ведь не мешает репозиторию общаться с датамаппером и внутри там мапить из базы на сущность

Evgenii
13.02.2018
20:12:40

Sergey
13.02.2018
20:16:30

Google

Sergey
13.02.2018
20:17:03
сервис хэндлер, мереджер, контроллер - не важно
важно что это должна быть та точка, где четко видна граница бизнес транзакции
репозиторий - не та точка, только если у вас соблюдается простое правило - одна сущность на действие (и соответственно один репозиторий). А уж сущность эта с другими будет через свои связи взаимодействовать. Увы у большинства нормально в одном экшене 10 репозитоиев дернуть
хотя нет, просто репозиторий это не та точка. Можете загуглить "php save your repositories from save"


Evgenii
13.02.2018
20:29:02
Лично я считаю , что репозиторий по своему определению не должен ничего сейвить в принципе, получение коллекций и так далее -ок, а сейвить -это либо всеми любимый «доменный менеджер», сервис и тд.. насчёт границы бизнес транзакции - интересное замечание)

Sergey
13.02.2018
20:29:42
по поводу возврата коллекций - есть мнение что это не является обязанностью репозитория
что репозиторий может вернуть только сущность, какой-то VO или кинуть исключение. И все в единственном экземпляре
а коллекции - это больше про UI
если упароться - можно просто разделить на уровне интерейсов и реализовать в одном классе)
но иногда ограничения которые накладывает доктрина (пока-что во всяком случае) вынуждают так делать

Alan
13.02.2018
21:17:45

Sergey
13.02.2018
21:18:38
внутри репозитория. На счет того может ли быть флаш у репозитория я пока не определился.
мне кажется что это не катит, с другой зависимость от EM где-то вне репозиториев тоже не катит... в итоге у меня появляется сервис Flusher
например у меня прямо сейчас юзкейс такой - помимо doctrine flush мне надо закоммитить еще и event store
причем между делом собрать события, подождать пока все запишится и запустить

Alan
13.02.2018
21:29:01
вот такое нагуглил http://jmsyst.com/bundles/JMSAopBundle#transaction-management

Sergey
13.02.2018
21:29:42
да, можно так, можно в целом и просто компайл пасс написать который оборачивает твои методы в проксю
что бы не тянуть жиный aop от jms

Google

Alan
13.02.2018
21:30:03
в яве кажется это на уровне hibernate самое колдуется с @Transactional
ну вроде не сложное да можно и самому

Sergey
13.02.2018
21:30:54
прошелся цикликом по методам, выдрал аннотации из рефлексии и ты в дамках

Jender
14.02.2018
02:41:20
Grupo de Symfony en Español -> https://t.me/symfonyES

Alan
14.02.2018
07:27:12
15 испанцев чет маловато)

Bohdan
14.02.2018
07:31:31

Ilshat
14.02.2018
07:42:58
есть у меня такой метод:
/**
* @param $method
* @param array $params
* @param null $className
* @return null|object
* @throws ApiException
*/
public function getFirstItemOrNull($method, $params = [], $className = null) {
можно как то для IDE дать понять, что return может возвращать тип как в className? или phpdoc и php7 этого еще не умеют?

Andrey
14.02.2018
07:44:01
https://habrahabr.ru/post/348464/

Petr
14.02.2018
07:47:27

Ilshat
14.02.2018
07:50:41
className

Petr
14.02.2018
07:56:33
Как вариант: эту проблему может решить отказ от generic-методов

Ilshat
14.02.2018
07:58:01

Andrey
14.02.2018
07:58:31

vlad
14.02.2018
08:41:57
всем доброго дня
ребят, я вот открываю для себя бандлы, который очень упрощают горы тех костылей, которые были раньше
сначала с удивлением открыл fosuser
затем easyadmin
теперь вот rabbitmq
что вы ещё используете, чаще всего, в проектах?
и какие полезные бандлы вообще есть, по-вашему?

Sergey
14.02.2018
08:42:43

Andrey
14.02.2018
08:43:04
Validator, serializer. Только это не бандлы

Sergey
14.02.2018
08:43:38
всем доброго дня
ребят, я вот открываю для себя бандлы, который очень упрощают горы тех костылей, которые были раньше
сначала с удивлением открыл fosuser
затем easyadmin
теперь вот rabbitmq
что вы ещё используете, чаще всего, в проектах?
и какие полезные бандлы вообще есть, по-вашему?
бандлы - это удобно, но не надо на них зацикливаться. Тебе нужны подходы, решения, интеграции, сервисы и т.д. все то что реально экономит время. А бандлы - по ситуации и интеграция с этим всем.
p.s. любой бандл который заставляет тебя наследовать сущности - говно по орпделению

Google

vlad
14.02.2018
08:44:49

Dmitriy
14.02.2018
08:48:35
ну например для guzzle тебе не нужен бандл
ставишь саму библиотеку из композера и используешь

vlad
14.02.2018
08:49:32
а, окей, тогда понятно

Sergey
14.02.2018
09:15:01
а у кого щас в проде kubernetes кластер крутится?
расскажите немного че да как, были ли проблемы, как давно в проде
какие версии kubernetes, docker/rkt, containerd?
че используете для сети?
на чем крутятся ноды, coreos, ubuntu?
не об одной же симфони тут топить, давайте делитесь опытом по инфраструктуре

Andrew
14.02.2018
09:53:09

Jan
14.02.2018
09:55:19

Admin
ERROR: S client not available

Max
14.02.2018
10:21:59
А это нормально, что мне нравится symfony, но не нравятся бандлы под неё? Или мне просто не встречались образцовые?

Bohdan
14.02.2018
10:23:50
это не нормально, так и должно быть

Andrew
14.02.2018
10:24:19

Bohdan
14.02.2018
10:24:29
сходу не вспомню норм бандлов
разве что то, что для оберток пакетов из phpleague, но там тупо обертка, много ума не надо

Andrew
14.02.2018
10:24:35

Bohdan
14.02.2018
10:24:48
впрочем, обертка-бандл, которую писал сам - тоже гуано

Sergey
14.02.2018
10:25:16
profiler bundle, orm bundle, redis bundle, rabbitmq

Bohdan
14.02.2018
10:26:11
кролик гуано)

Alan
14.02.2018
10:26:25
redis snc ?) там тоже жопа

Bohdan
14.02.2018
10:26:26
потому, что он по дефолту отвечает всегда ack

Google

Bohdan
14.02.2018
10:26:39
и даже если у тебя все упало - эта падла отвечает тоже ack
раньше так было точно

Max
14.02.2018
10:29:59
Позвольте расширить вопрос:
А это нормально, что в своей нелюбви к бандлам под symfony я стараюсь не делать свой бандл, ибо сам bundle-way (как по задумке так и по структуре) мне не очень импонирует?

Alexandr
14.02.2018
10:30:57
4ка же в этом плане все поменяла ... теперь bundle-way больше не тренд

Bohdan
14.02.2018
10:31:25
+

Sergey
14.02.2018
10:32:08

Bohdan
14.02.2018
10:32:16
сейчас нормально?
пойду гляну хоть

Max
14.02.2018
10:32:32

Sergey
14.02.2018
10:32:35

Bohdan
14.02.2018
10:32:55

Alan
14.02.2018
10:32:59
дак что там клиент настраивать что сервис свой описать в чем профит?

Max
14.02.2018
10:33:13

Bohdan
14.02.2018
10:33:28

Sergey
14.02.2018
10:34:01

Alan
14.02.2018
10:34:11
только там оно ломалось недавно ) то predis поддержку сломали, потом починили и сломали phpredis есл иу тебя пароль есть и порт с базой не стандартные - какой то отдельный класс который разбирает dsn подключали и внутри ифы с instanceof нафигачены )
в итоге метод добавили в один класс а в другой забыли )

Sergey
14.02.2018
10:36:23
http://symfony.com/blog/new-in-symfony-reproducible-builds

Alexandr
14.02.2018
10:36:54
это надо думать
ты же как-то делал без bundle-way из-за не-любви) ... делай так и дальше) ...

Bohdan
14.02.2018
10:37:08
о, это круто