@symfony_php

Страница 492 из 1418
Ruslan
14.12.2017
23:59:39
Смотрел на спецификацию та ее не понял))) Потом глядь да што си шарп

да DDD

это круто

ноооо для меня это как

Google
Ruslan
15.12.2017
00:04:15
я твоих выслушал сделаю как нужно

а ты не лезь)))

Нужна помощь с сонатой, кто поможет?

пока не надо

Ilya
15.12.2017
05:08:52
да, так и будет, потому нужна причина для флаша. У меня например флаш происходит после того, как я обработал все доменные ивенты по postFlush. Соответственно "рекурсия" закрывается тогда, когда ивенты больше не генерятся
Там тоже не все так просто. Обрати внимание на код в UnitOfWork::commit после бросания postFlush ивента. Там чистится внутреннее состояние доктрины. Соответственно при вызове flush внутри postFlush можно получить выполнение повторных запросов. (Ну и в доке написано, что так делать "небезопасно")

Это все сделано для того, чтобы ты в postFlush мог получить информацию о том, что было сделано

Arky
15.12.2017
05:13:05
Такс, есть пара вопросов: 1. Как узнать какую ответственность каждый сервис, класс несет? А то этого я не могу понять пока) 2. Как узнать имя файла полученного по http, не используя реквест и суперглобальные переменные?

Борис
15.12.2017
06:08:19
1. это к сереге.. сча че-нибудь толкнет. 2. В чистом PHP файл парсится в суперглобальные переменные. Так устроен PHP. Юзай symfony request он за тебя их прочтет. (Ну, если сильно запотеть, то ты можешь сам распарсить целый POST запрос, но зачем? https://stackoverflow.com/questions/8945879/how-to-get-body-of-a-post-in-php)

Danil
15.12.2017
06:10:12
да напиши ты уже, зачем тебе имя

Arky
15.12.2017
06:29:13
да напиши ты уже, зачем тебе имя
Чтоб получить расширение файла)

Danil
15.12.2017
06:32:57
ну у тебя же сам файл есть? как ты его грузишь?

Danil
15.12.2017
06:35:35
не надо реплайить только

Google
Борис
15.12.2017
06:36:01
Арки ты видел вот это ? https://stackoverflow.com/questions/30531807/get-file-extension-after-file-is-uploaded-and-moved-in-symfony2

Danil
15.12.2017
06:37:24
тоже не вижу проблемы из реквеста достать файл и работать с ним. почему нельзя реквест-то юзать? тебе Сергей запретил?)

Danil
15.12.2017
06:39:36
ну написал же, не надо реплаить

Arky
15.12.2017
06:39:56
привычка)

Борис
15.12.2017
06:40:37
ну написал же, не надо реплаить
Вообще - реплаить - это хороший тон, когда много людей и сообщений, это единственный вариант прочитать диалог от конца к началу

Arky
15.12.2017
06:40:45
Арки ты видел вот это ? https://stackoverflow.com/questions/30531807/get-file-extension-after-file-is-uploaded-and-moved-in-symfony2
Круто, можно просто такой сервис запилить, а реквест передать из контроллера)

Danil
15.12.2017
06:40:54
почему тогда нельзя в контроллере сделать $uploadedAvatarFile = $request->files->get('avatar'); а уже инстанс файла передать в сервис

Борис
15.12.2017
06:41:13
Нельзя реквест из контроллера пихать дальше... А вот файл - уже можно. Просто передай файл в сервис

Arky
15.12.2017
06:42:25
А как его передать? :s

ой) Переменной же)

сорян

Спасибо за помощь)

Roman
15.12.2017
06:46:00
Нельзя реквест из контроллера пихать дальше... А вот файл - уже можно. Просто передай файл в сервис
А если объявить свой интерфейс request-а, типа CreateUserInput, реализовать в request-e симфони и передавать его в сервис или дальше? Или все равно бэд практис?

Борис
15.12.2017
06:53:33
А если объявить свой интерфейс request-а, типа CreateUserInput, реализовать в request-e симфони и передавать его в сервис или дальше? Или все равно бэд практис?
Главный смысл в том, чтобы все, что касается http оставалось в контроллере, все что НЕ касается http было в сервисе. Если тебе завтра нужно будет выполнить тот же запрос, но например из консоли (bin/console sendMessageWithFile "Hello" ./pathToFile) и тебе НЕ придется изменять (расширять можно) твой CreateUserInput и твой сервис, то все гуд. Тебе ДОЛЖНО быть достаточно в твоей консольной команде только извлечь мессагу и файл из команды, и передать это в сервис. Если ты это сможешь сделать - все гуд!

Мммм нет, я подумал, расширять тоже нельзя. Должно хватать просто перееюзать.

Andrew
15.12.2017
07:06:25
ну и не забываем GRASP (а конкретно Information expert) + information hiding. Файлики вряд ли завтра из консоли нужно будет грузить, а связанность понизим.

Константин
15.12.2017
07:29:21


Google
Антон
15.12.2017
07:30:49
Хочешь поговорил о DTO? )

Константин
15.12.2017
07:33:55
- Здраствуйте это канал о симфони? - Да - Как использовать dto и не использовать сеттеры?

Антон
15.12.2017
07:36:12
А что сам фабьен говорит на эту тему?

Arky
15.12.2017
07:39:07
Что бы не использовать сетеры просто не нужно использовать слово set*?)

Ruslan
15.12.2017
07:39:31
?

Антон
15.12.2017
07:40:12
?

Andrew
15.12.2017
07:44:47
не, Арки и это - https://github.com/Arky9782/chat/pull/9/files/4f537b97d298397a26d46f807fd12ae7a04b96ab#diff-4e54086cad0fa43d91bd5e40c803d9c7R23

Константин
15.12.2017
07:56:37
$_POST? яснопонятно ?

Tex
15.12.2017
07:57:50
зато реквест не прокинул

тот момент, когда чувак следует советам, но не понимает зачем они. и поэтому творит еще большую дичь.

Ruslan
15.12.2017
07:59:23
+6

Sergey
15.12.2017
08:00:37
давайте мы не будем скатываться в то во что превратился пхп чатик соседний

Sergey
15.12.2017
08:01:38
все обсуждения по пулреквесту Arky проводите на гитхабе плз, иначе опять кто-то уйдет в ридонли

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

Sergey
15.12.2017
08:05:11
да где-то так и было

smile
15.12.2017
08:09:08
никто не сталкивался с тем, что если для доктрины задать default query hint через setDefaultQueryHint, то при find/findAll он не работает, а при createQueryBuilder('c')->getQuery()->getResult() отрабатывает?

а вот и issue (https://github.com/doctrine/doctrine2/issues/6751) - надо учиться писать тесты вообщем....

Sergey
15.12.2017
08:17:22
потому что он там не юзает внутри queryBuilder



Google
Sergey
15.12.2017
08:17:37
в исходники смотрел вообще?

smile
15.12.2017
08:22:15
уже глянул - в \Doctrine\ORM\EntityManager::find он вызывает persister load и туда вообще явно пустые хинты закидывает return $persister->load($sortedId, null, null, array(), $lockMode); ....

Sergey
15.12.2017
08:37:10
а так в целом да - вместо setSomething - doSomething

ну то есть мыслить поведением, что тебе надо сделать. Это проще - когда ты смотришь на интерфейс из контекста использования. То есть вот тут тебе надо что бы эта штука сделал то-то. Ну так метод и называешь

Admin
ERROR: S client not available

Sergey
15.12.2017
08:39:03
и передаешь все что надо

Sergey
15.12.2017
08:40:31
потому к слову всякие TDD некоторым и помогают

потому что тесты выступают тем самым "клиентским кодом"

Sergey
15.12.2017
08:51:14
Sergey
15.12.2017
08:51:45
тебе не надоело?)
я сейчас пытаюсь как-то по другому эту идею подать)

ибо просто "не пишите сеттеры" народ слишком тупо воспринимает)

а так нет, не надоело

Sergey
15.12.2017
08:52:07
мы вот сколько с тобой знакомы, ты все пытаешься эту идею в массы толкнуть)

хорошо что хоть как Егор не пошел дальше в этом)

Sergey
15.12.2017
08:53:20
Может из-за подхода?)
нет, мне кажется что это закладывает ихначально неверный смысл.... ну то есть очень сложно людям тупо отказавшись от сеттеров вруг начать нормально объектную модель делать

Boris
15.12.2017
08:53:29
т.е. приходит рандомно 10-20 челиков, спрашивают за сеттеры, а ты им говоришь "не надо их делать", но не говоришь почему

Google
Sergey
15.12.2017
08:53:36
потому буду топить за whole value pattern

Boris
15.12.2017
08:54:04
Вот например в @Enleur на гитхабе можно проект глянуть

Чему-то научится, что-то новое понять

Sergey
15.12.2017
08:54:31
а у меня на гитхабе ты был?)

Boris
15.12.2017
08:54:47
Да, и конфу твою смотрел

Если это ты конечно был

Sergey
15.12.2017
08:55:02
Вот например в @Enleur на гитхабе можно проект глянуть
мы с @fes0r уже давно "собирались" написать проектик с примерами, но все закончилось на обсуждения че это за проект вообще должен быть и тут мнения разошлись немного

хотел более-реальный какой-нибудь икоммерс, а он абстрактные либы чтобы они были полезны в текущих проектах типа request objects

Boris
15.12.2017
08:56:24
В итоге получается две крайности. 1. Человек спрашивает за сеттеры, не получает достаточно инфы и продолжает их использовать т.к. не пользовать их только потому что сказал не пользовать их @fes0r не логично, не правда?) 2. Каждый раз одно и тоже объяснение в чате

Boris
15.12.2017
08:56:56
Да

Sergey
15.12.2017
08:57:35
в соседнем чате вчера мы подробно разбирали с @arturpanteleev разницу в подходах

к примеру

Boris
15.12.2017
08:57:46
Хочешь нести образование в массы - накалякай статейку с объяснением на пальцах

На хабре читал твои посты

Твои же за АПИ?

12 года

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