@symfony_php

Страница 394 из 1418
Константин
09.11.2017
15:37:54
@fes0r зависимости через сеттеры при доступном конструкторе - рак?

Andrey
09.11.2017
15:40:00
+

Sergey
09.11.2017
15:47:01
привет, кто-нибудь использует json в mysql? как дружили доктрину?

Alan
09.11.2017
15:47:30
так она дружит вроде )

Google
Sergey
09.11.2017
15:49:06
так она дружит вроде )
интересен момент сериализации/десериализации

Andrey
09.11.2017
15:56:47
http://docs.doctrine-project.org/projects/doctrine-dbal/en/latest/reference/types.html#json ?

Sergey
09.11.2017
16:12:09
Там же используется json_encode/decode вроде как, хотелось бы в сущности туда сюда

Вадим
09.11.2017
16:24:52
за ui не нашёл в презентации, увы
https://youtu.be/LJ6O2cBvSzg?t=517 Вот смотри

Andrey
09.11.2017
16:26:23
phystrix про fault tolerance к сторонним сервисам. Но не про сборку страницы с помощью разных сервисов

о, дослушал до prana. Оно видимо

Alan
09.11.2017
17:08:03
Там же используется json_encode/decode вроде как, хотелось бы в сущности туда сюда
типа у тебя сущность с id кладется еще и в json ? а что будет когда сущность удалишь?)

или мб тогда тебе не мускуль надо)

Sergey
09.11.2017
17:13:32
типа у тебя сущность с id кладется еще и в json ? а что будет когда сущность удалишь?)
Нет, например есть value object, хотелось бы при выборке данного поля получать сразу объект, то есть использовать сериалайзер. Есть бандл, который умеет, но не получается к нему прикрутить кастомные нормалайзеры

Бандл https://github.com/dunglas/doctrine-json-odm

Alan
09.11.2017
17:17:40
https://github.com/aurimasniekis/doctrine-json-object-type такое еще есть

свой тип и для vo implements JsonObject

хз ток почему не JsonSerializable )

Google
Alan
09.11.2017
17:20:09
а там еще декод нужен поэтому

Muhammad
10.11.2017
00:06:07
Привет. Есть класс Node, который является оберткой для класса DOMNode. От него наследуются три класса - Comment, Text и Element, которые являются обертками над классами DOMComment, DOMText и DOMElement

Свойство $node будет использоваться в наследуемых классах, но содержать будет уже не DOMNode, а соответвующий класс (DOMComment, DOMText или DOMElement)

https://pastebin.com/kU80VGiX

Вопрос: как прописать phpdoc в наследуемых классах для $node и getNode() без копипаста?

Например, в классе Element для getNode указать возвращаемый тип DOMElement, а не DOMNode

Andrey
10.11.2017
07:50:29
@Method DOMElement getNode ()?

Виктор
10.11.2017
09:16:00
Вопрос по JMS. При попытке сериализовать объект, наследованный от Exception выдает ошибку: Resources are not supported in serialized data. @ExclusionPolicy("all") + @Expose в нужных свойствах прописаны. Никто не сталкивался?

Bohdan
10.11.2017
10:01:11
если ругается на resource - значит, в нем что-то есть такого типа, должно быть просто в классе исключения видно

Art
10.11.2017
11:31:31
в симфони, в событиях kernel.view можно ли вешать несколько обработчков на одно событие?

Sergey
10.11.2017
11:33:35
да

Art
10.11.2017
11:35:53
а kernel.response почему-то два раза срабатывает, если url route не существует при событии исключении. А а при существующим роуте все впорядке отрабатывает. В чем может быть проблема?

Art
10.11.2017
11:36:37
объект Response создается в одном месте

Алексей
10.11.2017
11:36:43
Специальная страница для исключений же. Она у тебя в routing_dev.yml описана.

Art
10.11.2017
11:37:27
там не совсем сам фреймворк симфони, на компонентах, но суть та же

а что за дев режим, может он так же тут включен

Sergey
10.11.2017
11:40:36
а kernel.response почему-то два раза срабатывает, если url route не существует при событии исключении. А а при существующим роуте все впорядке отрабатывает. В чем может быть проблема?
так работает http kernel. В случае исключения ты оригинальный респонс уже не получишь, но пользователю что-то отправить надо. Потому кто-то будет кидать новый респонс.

а вообще - тебя не должно волновать сколько за реквест один из ивентов запускается - у тебя все ивент листенеры должны быть стэйтлесс а обработка ивентов по возможности должна быть идемпонентной (ну то есть не важно сколько раз ты вызвал что-то - результат должен быть одинаковым)

Google
Art
10.11.2017
11:41:44
роут ошибки не определен в роутах. Подписчик событий получает контроллер в качестве аргумента $dispatcher->addSubscriber(new HttpKernel\EventListener\ExceptionListener('ErrorController::exceptionAction')); а контроллер возвращает строку (не объект Response)

Sergey
10.11.2017
11:41:49
если тебя это волнует - значит ты что-то сделал не так и открываешь ворота в ад отладки систем использующих ивенты для логики

Art
10.11.2017
11:43:02
при событии контент дополняется текстом, и тот текст дублируется при 404

Sergey
10.11.2017
11:43:18
потому что не идемпотентная операция

не надо так делать и все будет хорошо, ты можешь просто сделать свой хэндлер ошибок и нормально делать кастомные 404-ые

Art
10.11.2017
11:43:54
а как надо например гугл статистику вешать? Я тут знакомлюсь с компонентами

Art
10.11.2017
11:44:17
ну это просто слишком))

а ивенты для чего вообще тогда?

а если заголовки модифицирвоать, вдруг он так же дублировать будет

Sergey
10.11.2017
11:45:16
идемпонетная штука

Roman
10.11.2017
11:45:25
а ивенты для чего вообще тогда?
Оповещать другие части системы о важном событии

Art
10.11.2017
11:45:56
заголовки по ключу
т.е 2 операции перезаписи заголовков? Ну это баг получается

Sergey
10.11.2017
11:46:16
юзкейсы для ивентов ядра: - добавить что-то в реквест - добавить что-то в респонс (заголовки какие-нибудь например) - фильтрация ответа контроллера (он не обязан возвращать response и ты можешь то что контроллер вернул в response завернуть в листенере)

т.е 2 операции перезаписи заголовков? Ну это баг получается
$headers = []; $heders['Content-Type'] = 'applicatiion/json'; $heders['Content-Type'] = 'applicatiion/json';

какой результат и где тут баг?)

Art
10.11.2017
11:49:02
результат то один, да, но 2 операции однго и того же смущает. Вот решил просто текстовую строку добавить к ответу. Она добавляется при существующем роуте, а при 404 нет. Вот на практике это дает такой результат. А в примерах того же фреймворка так же делается, на событиях

Google
Sergey
10.11.2017
11:49:53
Art
10.11.2017
11:49:53
ой, т.е при 404 она дублируется

Sergey
10.11.2017
11:50:11
ой, т.е при 404 она дублируется
короч рано тебе в ивенты, не юзай и все будет хорошо)

Admin
ERROR: S client not available

Art
10.11.2017
11:52:16
сейчас допишу, потом скину код, если время будет посмотрите где там возможный косяк

вот, тут строка дублируется ' <br/>[ContentLengthListener]' - https://github.com/artnv/simplex-symfony-framework/blob/edit/src/Calendar/Listeners/ContentLengthListener.php

Sergey
10.11.2017
12:58:53
потому что не надо так делать)

не надо "модифицировать" тело респонса, либо заменяй его полностью либо нет

либо оставляй проверки делал ты это уже или нет

Andrey
10.11.2017
13:00:08
брр...

либо оставляй проверки делал ты это уже или нет

Sergey
10.11.2017
13:06:28
либо оставляй проверки делал ты это уже или нет
что брр, норм практика, свой стэйт хранить нельзя но добавлять что-то в респонс можно и тебе надо знать надо добавлять или нет

вот такая модификация респонсов как у автора - это брр

для этого шаблоны есть

Andrey
10.11.2017
13:07:32
подумалось, что состояние в слушателе оставлять, тогда не так всё плохо

Art
10.11.2017
13:09:02
не надо "модифицировать" тело респонса, либо заменяй его полностью либо нет
так это события в симфони так себя ведут или мой косяк в коде ?)

Sergey
10.11.2017
13:09:19
так это события в симфони так себя ведут или мой косяк в коде ?)
события на то и события что они не гарантируют тебе ничего

Google
Art
10.11.2017
13:09:43
как это ничего, в js часто использую и все того

тот же паттерн наблюдадель, он везде один

у меня в js, модуль маршрутизатора вызывает собыие при переходе на url, далее запрашиваются данные по аяксу, потом вызывается событие для обработки данных, далее вызывается событие для отображения. И все классно работает

маршрутизатор и диспетчер событий от бэкбона

вот такая модификация респонсов как у автора - это брр
я ж по примеру делаю. Автор Фабьен https://symfony.com/doc/current/create_framework/http_kernel_httpkernel_class.html

Sergey
10.11.2017
13:20:23
ты делаешь мутацию респонса причем без проверок нужна она или нет

Алексей
10.11.2017
13:20:27
подумалось, что состояние в слушателе оставлять, тогда не так всё плохо
Представь, что ты на какой-нибудь реакт перепишешь приложение и один листенер будет для разных запросов отрабатывать. Норм хранить состояние? :)

Алексей
10.11.2017
13:21:29
так он об этом и говорит
Мне показалось, что он наоборот хочет состояние там хранить. Ну ок.

Andrey
10.11.2017
13:22:15
Мне показалось, что так предложили. Ужаснулся. Оказалось что не на то подумал

Art
10.11.2017
13:23:01
ты делаешь мутацию респонса причем без проверок нужна она или нет
нужна они или нет тут не важно. Я понять не могу в чем ошибка раз событие дублируется, когда нет для этого повода

Sergey
10.11.2017
13:24:06
и нужна или нет - важно

Art
10.11.2017
13:24:51
тут тестовую строку добавляю, чтобы понять как работает. Мне тут проверка не нужна

Sergey
10.11.2017
13:25:19
тут тестовую строку добавляю, чтобы понять как работает. Мне тут проверка не нужна
повторюсь - разберись как работает http kernel и в каких случаях он кидает это событие

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