@symfony_php

Страница 640 из 1418
Егор
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
а чего там сложного? скрипт воткнул, зарегался. все)

бесплатный тариф есть и лимит там вроде норм

Petr
13.02.2018
19:46:10
Действительно, добавить одно условие в конструктор будет проще всего.
В конструкторе и не нужно никаких условий. Поле всегда будет изначально пустым

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

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

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

Alan
13.02.2018
20:01: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
flush должен выполняться там. где известна граница бизнес транзакции
то есть flush лучше не держать как метод репозитория чтобы вызывать его из уровня выше? или имеешь ввиду просто не вызывать flush внутри методов репозитория?

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
в яве кажется это на уровне hibernate самое колдуется с @Transactional
в джаве тебе не надо парсить все php файлы для того что бы аннотации выдрать

прошелся цикликом по методам, выдрал аннотации из рефлексии и ты в дамках

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
15 испанцев чет маловато)
15 испанцев на проект на симфе...

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/

Ilshat
14.02.2018
07:50:41
Нельзя. А почему ты типизированные аргументы и возвращаемые типы не используешь? Также докблок для третьего параметра у тебя написан неверно.
ну можно и тип для аргументов указать, но все равно я не знаю, как это реализовать. метод у меня объект получает и отдает десериализованным по параметру

className

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

Ilshat
14.02.2018
07:58:01
Как вариант: эту проблему может решить отказ от generic-методов
пока вот так решил /** @var HostGroup $result */ $result = $this->getFirstItemOrNull('hostgroup.get', [ 'filter' => [ 'name' => $name ] ], HostGroup::class);

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

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

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

p.s. любой бандл который заставляет тебя наследовать сущности - говно по орпделению

Google
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?

не об одной же симфони тут топить, давайте делитесь опытом по инфраструктуре

Admin
ERROR: S client not available

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

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

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
сейчас нормально?

пойду гляну хоть

Sergey
14.02.2018
10:32:35
redis snc ?) там тоже жопа
автоконфигурация удобная же

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
о, это круто

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